如何为iPhone模拟器和设备构建一个库?

41

我想为 iPhone 构建一个静态库。 我希望将 .a 库提供给用户,以便他们可以在模拟器测试和设备测试中使用。 我是否需要分别在模拟器模式和设备模式下构建两个库? 是否有办法构建一个可用于两个平台的单一库呢?

1个回答

103
编译你的库两次,一次使用设备SDK,另一次使用模拟器SDK。然后使用lipo命令行工具创建一个"fat"库。
lipo -create libdevice.a libsimulator.a -output libcombined.a

那应该会给你所需的东西。


感谢您的快速准确回答。 - Chilly Zhong
1
在使用该库的应用中是否需要做任何特殊处理?我尝试使用自己编写的库进行操作,但编译使用该库的示例应用程序时出现了架构不匹配的错误。 - pr1001
在“fat”库中,您无需执行任何操作来区分架构。如果在使用lipo之前未使用正确的SDK构建原始库,则可能会看到该错误。 - Jasarien
你如何获取模拟器SDK? - CodenameLambda1
@CodenameLambda1 在 Xcode 中只是为模拟器构建 - 生成的二进制文件是使用模拟器 SDK 编译的。 - Jasarien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接