這幾天遇到一個這樣的問題:
我有2個文件夾分別是res和src乾吻,原先是在SlotsGame_pro文件夾下面的昌渤。我先去Xcode中Delete,然后Remove Reference是复。然后在Finder里面移動2個文件夾到SlotsGame_pro/frameworks/runtime-src/proj.ios_mac里面山涡,然后再拖進項目中幻碱,結(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方式添加一個文件毯焕,添加進來的文件的文件夾是黃色的
選擇 Create folder references方式添加進來的文件的文件夾是藍色的
兩種方式的區(qū)別:
1.Create groups
為新增加的文件夾創(chuàng)建組衍腥,我們在項目中可以手動添加一個groups(右鍵點擊選擇New Group),但是手動添加的groups實際上并不會存在于項目的目錄中纳猫,被添加進groups中的文件仍在位于它原來所在的位置婆咸,但是從外部引入進來的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ù)制一份拷貝到你的項目的目錄下,如果你不選擇眶根,并且這個文件也并不在你的項目目錄下蜀铲,那么這個文件仍然可以被使用,但是一旦你將項目拷貝到了別的地方時属百,這個文件就會找不到了记劝。因為這個文件在你的電腦中,而不在你的項目中族扰。