如何在 XCode for iPhone 中为不同的构建配置文件链接不同的预编译库?

StackOverflow https://stackoverflow.com/questions/1736800

  •  20-09-2019
  •  | 
  •  

我的客户为我提供了两个预编译库,blah-device.a 和 blah-simulator.a。如何告诉 xcode 在设备编译模式下使用 blah-device.a 并在模拟器编译模式下使用模拟器?

我的客户给了我这些说明

  1. 打开目标组(在组和文件面板中),右键单击项目图标,然后选择“添加>现有框架”。
  2. 在链接的库部分中,单击“添加库”图标(+)图标,然后单击添加其他。
  3. 选择blah-device.a(直接在iPhone设备上开发)或blah-simulator.a(用于在iPhone模拟器上开发),然后单击“添加”。

我已经将头文件复制到那里,但是这些说明并不能让使用不同的配置文件进行构建变得容易。

如何让 Xcode 在使用 DEVICE 配置文件构建时链接 blah-device.a,以及在使用 SIMULATOR 配置文件构建时链接 blah-simulator.a?

任何帮助是极大的赞赏。

有帮助吗?

解决方案

有是做到这一点的简单方法。您可以复制的“库搜索路径”一个目标下,并设置了不同的架构为每一个。然后可以设置为模拟器和设备不同的路径。

其他提示

有关备查,以处理这种情况的好方法是将glob的不同架构。一个公司到一个单一的一个,你可以包括在XCode中。你可以做到这一点的命令行工具:

脂libx.a liby.a -create -output libz.a

如果libx.a是用于ARMv6和ARMv7和liby.a是I386例如,所得的文库,libz.a,将用于ARMv6,ARMv7的,和i386。

您还可以通过脂-info检查以.a文件。

希望这有助于。 :)

您可以使用不同的连结路对不同的库 “连接路径的”

最简单的方法是通过复制现有目标来创建两个单独的目标。命名一个“ foo设备”,另一个“ foo模拟器”。然后右键单击blah-device.a在xcode中,选择“目标”选项卡,并确保选中“ foo设备”目标,然后检查“ foo Simulator”目标。

对 balah-simulator.a 重复此操作,但这次“Foo Device”目标处于关闭状态,而“Foo Simulator”目标处于选中状态。

现在,每当您想要构建模拟器时,请确保从 Active SDK 弹出窗口中选择模拟器,并从目标弹出窗口中选择“Foo Simulator”。对于设备测试,选择设备和“Foo Device”目标。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top