1.真机测试时遇到 file is universal(2 slices) but does not contain a(n) armv7s slice 错误
检查了下,发现是第三方文件有问题,主要是第三方不支持armv7s(iPhone5)。解决办法是:
①.升级涉及到的.a文件
②.在target的Build Settings里面,将Build Active Architecture Only改成YES
③.在target的Build Settings里面,找到Valid Architectures,删除其中的armv7s
以上3个方法任一都可以解决掉,已验证。
2.真机测试时遇到could not change executable permissions报错
这个是因为bundle identifier已重复使用,解决方法很简单,首先删掉真机上相同的bundle identifier的app,然后重启手机,OK,成功Run。
3.程序运行生成的.app路径:资源库->Developer->Xcode->DrivedData->你的程序识别号->Build->Products->Debug-iphoneos.
4.今天遇到Xcode工程有的可以在真机上下Run,有的只有iOS device 没有出现真机的标示,其实是你的工程的Deployment Target选错了版本,版本选高了如选择了7.0,修正将版本降下来,选择低版本真机的标示会显示出来。
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to seeinvocation)
这是因为你的有些文件(类库)没有加到工程里面去,发生这种错误通常是project.pbxproj这个文件引起的,尤其在多人合作开发的时候,svn提交不规范可能导致project.pbxproj发生错误,导致文件的引用不在project.pbxproj文件中。xcode项目import文件会根据project.pbxproj来查找,查找不到文件的引用则会有上述的错误。修正的办法是,如果多人开发时并且出现错误很多时候,比如几十个这样的问题,那就让Run正常的人把.pbxproj这个工程文件也提交到SVN上,然后你再checkout出来。如果错误比较少,那就在BuildPhases,根据提示信息“XXX”来判断缺少什么文件,一般如果缺少自定义的文件,XXX会是缺少的类名,那么就在ComplieSources中加入该文件。如果缺少类库,则在Link Binary With Libraries中加入该类库。
6.今天遇到一个真机测试的问题,发现PP证书和其他的证书都已安装正确,但是在XCode的Organizer的device的指示表始终为黄色的,不是绿色。这个原因是可能你的XCode版本不支持你的真机的操作系统版本造成的,比如XCode是5.0,而iP的操作系统是7.1,就可能出现Device指示表始终是黄色的。