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

CVe*_*tex 9 iphone xcode static-linking

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

我的客户给了我这些指示

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

我已经在那里复制了头文件,但是这些说明并没有使用不同的配置文件轻松构建.

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

任何帮助是极大的赞赏.

Kev*_*pue 16

为了将来参考,处理这种情况的一个好方法是将不同的体系结构.a glob分成一个可以包含在XCode中的体系结构.您可以使用lipo命令行工具执行此操作:

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

如果libx.a是armv6而armv7和liby.a是i386,那么生成的库libz.a将是armv6,armv7和i386.

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

希望这可以帮助.:)


Kam*_*tka 6

有一种更简单的方法可以做到这一点.您可以复制一个目标下的"库搜索路径",并为每个目标设置不同的体系结构.然后,您可以为模拟器和设备设置不同的路径.