這幾天遇到一個這樣的問題:
我有2個文件夾分別是res和src,原先是在SlotsGame_pro文件夾下面的。我先去Xcode中Delete,然后Remove Reference。然后在Finder里面移動2個文件夾到SlotsGame_pro/frameworks/runtime-src/proj.ios_mac里面,然后再拖進(jìn)項目中,結(jié)果運行報錯



移到廢紙簍之后,再從廢紙簍把res和src2個項目在finder中移動到目的地:

移動之后導(dǎo)入項目中

然后我各種逛貼吧,搜索對應(yīng)的問題。期間試過去Build SettingBuild Phases中尋找有沒有對應(yīng)的路徑,若是有則刪除,可是沒找到。然后還試過了去Build Phases中去Copy Bundle Resources中刪除對應(yīng)的res和src文件夾再重新自己導(dǎo)入一遍,結(jié)果還是不行(PS:Copy Bundle Resources中的文件夾是自動生成的)
就在我有些放棄的時候,我突然看到警告的開頭的位置有這樣的字眼:(由于這個警告太長了,一般都是只看結(jié)尾,而不看它報錯的開頭)


這個時候我去Build Phases中找到Run Script選項,發(fā)現(xiàn)原來是這里的路徑在文件夾移動位置之后沒有修改,修改之后運行,一切OK。

在這里,補充一下Xcode中的Create groups for any added folders和Create folder references for any added folders的區(qū)別:

選擇Create groups方式添加一個文件,添加進(jìn)來的文件的文件夾是黃色的
選擇 Create folder references方式添加進(jìn)來的文件的文件夾是藍(lán)色的
兩種方式的區(qū)別:
1.Create groups
為新增加的文件夾創(chuàng)建組,我們在項目中可以手動添加一個groups(右鍵點擊選擇New Group),但是手動添加的groups實際上并不會存在于項目的目錄中,被添加進(jìn)groups中的文件仍在位于它原來所在的位置,但是從外部引入進(jìn)來的groups并不會如此,正如我們剛才那樣。groups一旦被創(chuàng)建或添加,都是以黃色文件夾的形式存在的,當(dāng)你想要使用文件夾中的某個類的頭文件時,可以直接添加它的引用,因為groups下的cpp文件是會被編譯的。
2.Create folder references
只是將文件單純的創(chuàng)建了引用,這些文件不會被編譯,所以在使用的時候需要加入其路徑,比如在我們想要使用demo文件夾下面有某個頭文件,則需要按照下面的方法添加聲明:#include demo/xxx.h,否則會提示錯誤:xxx.h not found
至于Destination對應(yīng)選項,當(dāng)你選擇了這個選項時,如果你想要引入的文件不在你的項目文件的目錄下,Xcode則會自動將這個文件復(fù)制一份拷貝到你的項目的目錄下,如果你不選擇,并且這個文件也并不在你的項目目錄下,那么這個文件仍然可以被使用,但是一旦你將項目拷貝到了別的地方時,這個文件就會找不到了。因為這個文件在你的電腦中,而不在你的項目中。