静态库不适用于不同的设备

Static library does not work on different devices

我在 Xcode 7/iOS 9 中创建了名为 'libDigitalSignature.a' 的库,并在 iPhone 4s 上编译了它。我在另一个应用程序中实现了这个库文件,它在 iPhone 4s 上正常工作。但是当我 运行 在 iPhone 6+ 上使用相同的应用程序时,它会给我以下错误:

反之亦然。我是否需要在可能的设计上制作此库,然后使用以下命令合并所有“.a”文件:

lipo -create "libLogger_simulator.a" "libLogger_device.a" -output "libLogger.a"

我认为您在制作静态库时需要将Build Active Architecture Only 设置为NO。另外,我不建议使用 Xcode 7 的静态库。使用框架有很多优点。

您必须使用 arm64 架构重新编译静态库。

Select 你的目标,然后你构建设置


iPhone5s/6/6+/6s/6s+都是64位的,所以要在这些设备上运行需要重新编译你的图书馆有上面提到的最新设置