好多时候Xcode编译运行程序到模拟器的时候会遇到Undefined symbols for architecture i386的问题,这个问题是由于该项目中存在不支持i386架构的第三方静态库,如果把该静态库重新生成一个通用库(可在i386和armv6、armv7中使用),则该问题可以迎刃而解。
如何生成支持i386架构的静态库?
在静态库项目中,将项目build到iPhone 4.3 Simulator
如何生成支持armv6、armv7架构的静态库?
在静态库项目中,将项目build到IOS Device
如何查看静态库支持哪个架构?
用Terminal输入命令:lipo -info xxx.a (需要cd到该.a文件的目录下)
如何找到.a文件保存路径?
在Xcode中,编译运行后,在product中会有.a文件生成,选中该文件点击鼠标右键“show in Finder”
如何生成通用库?
将生成的两个静态库放到同一目录下,使用命令:lipo -create A.a B.a C.a
C.a为生成的通用库。
那两个静态库也可以不放在同一目录下,在使用命令时要将那两个静态库的存储路径也加上去