今天在维护程序的时候,出现了这个错误,提示是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里面也有一份,需要做的就是把那个重复的给删除了就可以了
版权属于:东哥笔记 - DongGe.org
本文链接:http://dongge.org/blog/7.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!