解决静态库 missing required architecture x86_64问题

Yourtion 创作于:2015-05-21     全文约 604 字, 预计阅读时间为 2 分钟

最近在使用自己编译的静态库做项目之后发现一个问题,没办法在本机的iPhone6等模拟器上运行项目,提示“missing required architecture x86_64”,在iPhone5的模拟器上是正常的,研究了一下,原来跟我生成静态库的工程有关。解决了问题,分享之。

我的静态库是使用脚本完成编译的,编译模拟器对应的库是使用xcodebuild脚本进行编译的,脚本如下:

xcodebuild -target $CONFIGURATION \
			-configuration $CONFIGURATION \
			-sdk iphonesimulator \
			-arch i386

这个是我很早前就在用的脚本,那时候还没有iPhone5s和iPhone6这些64位架构的机器,所以-arch i386是没问题的,现在有了这些机器,自然模拟器的库就没有对应的x86_64的库。

参考苹果官方文档后,在静态库工程中的VALID_ARCHS添加x86_64,如下图:

Set_VALID_ARCHS

这样正常Archive的库就是支持64位模拟器的了,如果是跟我一样使用脚本,脚本修改如下:

xcodebuild -target $CONFIGURATION \
			-configuration $CONFIGURATION \
			-sdk iphonesimulator \
			-arch i386 \
			-arch x86_64

原文链接:https://blog.yourtion.com/solve-library-missing-required-architecture-x86_64.html