PBXcp error修復-No such file or directory

751a1422882334.png

今天在維護程序的時候,出現了這個錯誤,提示是PBXcp error,截圖如上面所示,紅色部分是我的項目名稱,就屏蔽了,如果看不清楚請點擊圖片,查看原圖

當然這個是個很常見的錯誤,但是碰到了還是很苦惱,百度了一下,基本上都是給的同一種方法,但是和我的情況不太一樣,所以總結一下,以備後用,同時也給後面遇到的人一點提示.

這個錯誤原因往往是添加或刪除美術資源的時候出錯,也就是添加圖片出錯.一般情況下就是圖片衝突了.所以根據這個來解決相應的問題

一.單機遊戲

如果你的是一個單機遊戲解決方法:(PS:這三個方法是百度的,因爲和我出錯的情況不一樣,所以我使用時沒有效果)

方法1.退出Xcode,然後從finder裏面進入~/Library/Developer/Xcode/DerivedData 刪掉裏面所有的內容,然後重啓Xcode試試看

方法2.上面的操作也可以直接在Xcode的organizer中完成,在organizer裏面切換到projects,然後delete掉derived data,在target設置中刪掉Prefix Header的值,重啓Xcode試試看,最後恢復Prefix Header的設置

方法3:還是在Xcode裏面,項目-targets-build phases,然後從copy bundle resources裏面刪掉紅色的錯誤資源文件



二.網絡遊戲

我今天碰到這種情況就是網絡遊戲的原因,這個記錄下,首先我遊戲是一個project,多個target構成的,因爲不同的sdk對應的不同的target,但是裏面資源又有公有的,所以我的資源是這麼用的,比如說三個是target1,target2,target3,那麼我的資源有三個文件夾,Resource,Resource_target1,Resource_target2,Resource_target3

其中Resource是公有的資源,那三個是分別的資源,在連接網絡時下載的東西下載到Resource文件的download目錄裏面.

平時運行好好的,今天切換時就出現這個錯誤了,當時意識到圖片問題,但是怎麼找都沒找到,最後發現是這個問題.

首先,因爲Resource裏面存的有熱資源,會和服務器比對,同時多個target工程下載的東西又有相同的文件名的資源,那麼問題就來了,xcode編譯時不知道用哪個資源了,所以會出錯,解決辦法很簡單粗暴,因爲現在是本地測試,所以直接把Resource裏面的熱資源給刪除就可以了.

這樣的話它是空的,所以就會下載自己唯一的那個,而不會造成混亂,只需要在打包上線的時候,單獨分別下載兩份作爲熱資源就可以了

續:今天又碰到這個問題了,刪除了還有其他的他提示說還是錯誤,最後我發現了,原來在導入Resource文件時,因爲需要把所有的Target都勾上了,所以有時候居然會出現那種情況,就是Resource裏面的文件居然在其他的target的resource裏面也有一份,需要做的就是把那個重複的給刪除了就可以了

發佈了49 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章