? ? ? 當我們xcode開發中,如何正確添加文件等資源?
? ? ? 可能很多人只是拖入文件資源,但是忘記勾選【create groups】這時候出現錯誤,找不到文件,或者.h頭文件無法引用?
一:案例介紹演示
1、步驟提示:
1、拖入第三方文件,選項為【create folder references】時候,error報錯顯示,找不到引用的第三方文件【“ ‘XXXXX.h’ file not found”】。
2、刪除此第三方(【move? to trash】完全刪除,刪除所有的引用)
3、重新拖入第三方文件,選項為【create groups】時候,success啦!
2正確截圖提示:
所以:
拖入新的文件等資源時候記得勾選:【Copy items if needed】和【Create Groups】
二、淺析:【Create groups】與【create folder references】區別與聯系?
1、如果選擇了Create groups方式添加了一個文件,我們會發現被添加進來的文件,文件夾是黃色的
2、選擇了 Create folder references方式添加進來的文件的文件夾是藍色的
如圖:
三、深析【create groups】 與 【create folder reference】及【copy item if needed】區別與聯系?
1.使用Create groups
?為任何新增加的文件夾創建組,組的概念也許我們并不陌生,我們在項目中完全可以手動添加一個groups(右鍵點擊選擇New Group),但是手動添加的groups實際上并不會存在于項目的目錄中,你會發現被添加進groups中的文件仍在位于它原來所在的位置,但是從外部引入進來的groups并不會如此,正如我們剛才那樣。groups一旦被創建或添加,都是以黃色文件夾的形式存在的,當你想要使用文件夾中的某個類的頭文件時,你可以直接添加它的引用,例如
#include xxx.h
因為groups下的cpp文件是會被編譯的。
所以:建議??使用【Create groups】
2.使用Create folder references方法
? ? 只是將文件單純的創建了引用,這些文件不會被編譯,所以在使用的時候需要加入其路徑,比如在我們想要使用上圖中的myScripts文件夾下面有某個頭文件,則需要按照下面的方法添加聲明:
#include myScripts/xxx.h
否則編譯器就會告訴你找不到xxx.h文件。
這就是項目中黃色文件夾與藍色文件夾的區別以及使用方法
所以:不建議?使用【Create folder references】
3、至于Destination對應【copy item if needed】 選項,
1、當你選擇了這個選項時,如果你想要引入的文件不在你的項目文件的目錄下,Xcode則會自動將這個文件復制一份拷貝到你的項目的目錄下
2、如果你不選擇,并且這個文件也并不在你的項目目錄下,那么這個文件仍然可以被使用,但是一旦你將項目拷貝到了別的地方時,這個文件就會找不到了。因為這個文件在你的電腦中,而不在你的項目中。
所以:建議??使用【copy item if needed】
四、最后總結:
1、建議
所以:建議??使用【Create groups】
所以:不建議?使用【Create folder references】
所以:建議??使用【copy item if needed】
? 2、 如圖: