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架构。如果没有,请填写。