码迷,mamicode.com
首页 > 其他好文 > 详细

xcode工程编译错误:missing required architecture i386 解决方法

时间:2017-05-06 10:14:34      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:真机   测试   合并   ble   错误提示   解释   pre   int   键值   

可能原因一:项目内保存了.framework文件,在复制分发到不同计算机的时候可能会引发该错误

解决方法一:
来到Targets->Build Settings->Framework Search Paths,将其内容删除。让xcode不管项目目录下的.framework文件,而是去包含本机的。当然你也可以手动删除它们。

解决方法二:
这个是在stack overflow上看到的:

   I had this same problem, and the solution turned out to be an easy fix. Backup then open project.pbxproj(located inside your project file bundle) in TextMate or TextEdit and search for the section titled "/* Begin XCBuildConfiguration section */". Look for a key named FRAMEWORK_SEARCH_PATHS and delete it and it‘s contents (once per build configuration, so I removed it in two places).

解释:用文本编辑器打开位于项目包内的project.pbxproj,找到并删除FRAMEWORK_SEARCH_PATHS键值。跟方法一差不多。

解决方法三:
删除Library Search Paths的内容,这个可能性比较小吧,莫非是sdk库被存到项目目录下了?

可能原因二:正如这个错误提示所指出的那样,缺少了i386架构的东西。这很可能是由于项目中包含的静态库是被编译用于真机测试的,大家都知道苹果手机cpu是arm架构,而mac笔记本(当然也包括运行于其上的iphone-simulator)是intel架构。所以当这个静态库被编译用于device的时候,在目标为simulator下的编译是会报错的。

解决方法一:
直接真机调试。

解决方法二:
重新为simulator编译静态库,然后有一个更高端的解决办法,就是将两种架构的静态库合并:

lipo -create Release-iphonesimulator/libMAMapKit.a Release-iphoneos/libMAMapKit.a -output libMAMapKit.a

 

 

 

xcode工程编译错误:missing required architecture i386 解决方法

标签:真机   测试   合并   ble   错误提示   解释   pre   int   键值   

原文地址:http://www.cnblogs.com/lxlx1798/p/6815473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!