XCode12模拟器静态库支持arm64架构带来的一系列问题。
XCode12之前:
编译器模拟器静态库支持i386 x86_64两种架构。
编译器静态库支持armv7 arm64两种架构。
可以使用lipo -create -output命令将两个库合并成一个fat库,支持模拟器和真机i386 x86_64 armv7 arm64。
XCode12编译的静态模拟器库也支持arm64,导致真实机库和模拟器库无法合并的问题。
1.如果有静态库项目:
2.如果你只有。一个或。框架文件。
使用lipo remove命令删除模拟器库的arm64架构。
这是因为静态库项目中包含了其他编译好的静态库,静态库是一个实机模拟器结合一个fat库(支持四种架构)。
因为这个fat库只支持真机arm64不支持模拟器arm64,所以出现了上面的错误。
如果出现上述问题,您还应该转到构建设置-& gt;以这种方式在排除的架构中设置它,然后编译模拟器库而不报错。
在用户定义的构建设置中有有效的_ARCHS吗?看看有没有x86_64架构。如果没有,请填写。