iphone - Xcode:基于架构的条件build设置(设备(ARM)与模拟器(i386))

标签 iphone xcode compiler-construction build linker

我正在构建一个必须在模拟器和设备上运行的 iPhone 应用程序。但是我使用的是一个外部编译的库,它有一个版本用于模拟器,一个版本用于设备(​​不同的 CPU)。

我该怎么做?我来自 Visual C++,所以我是 Xcode 的新手,但我找不到方法。

编辑,2016 年 3 月:这个问题是在大约 6 年前的 2009 年 7 月提出的。从那以后 Xcode 发生了很大的变化,但我想有些东西仍然存在。例如,现在接受的答案在 Xcode v3 中不是一个选项。

最佳答案

我在集成 Adob​​e Omniture 的“AppMeasurement”库时遇到了这个问题,该库目前编译为 3 种架构:libAppMeasurement-iOSSimulator.a、libAppMeasurement-iOSDevice.a 和 libAppMeasurement-iOSDevice-armv7.a。

虽然这里的其他答案基本正确,但我最终不得不去其他地方真正理解并解决问题。

第 1 步。了解问题

这个 blog post在解释整个问题方面做得很好。它给出了解决问题的从头到尾的说明Xcode 3。请参阅下面的 Xcode 4。

注意:您可以尝试跳过他所说的添加静态库然后删除它们的部分。下次我这样做时,我可能只会添加头文件,然后直接跳到编辑其他链接器标志。

第 2 步。Xcode 4 中的条件build设置

这个 StackOverflow page解释了在 Xcode 4 中设置条件build设置的新方法。提示:“build设置”选项卡上的文本字段支持拖放操作;一旦您准备好在其他链接器标志下编辑条件build设置,您只需将静态库文件拖到文本字段上,Xcode 将自动输入(希望是相对的)路径。

这是我的“其他链接器标志”的屏幕截图,一旦我收到“缺少所需的架构 i386”警告以消失且没有构建错误:

enter image description here __

关于iphone - Xcode:基于架构的条件build设置(设备(ARM)与模拟器(i386)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1211854/

相关文章:

ios - 从 Organizer 下载后,xcappdata 仅包含 AppData 文件夹

c# - C# 编译器如何检测 COM 类型?

android - Google Pass 标签未显示在 iPhone 上的 Google Pay 应用中

iphone - 从 UITextView 中删除底部空间

iphone - 如何使用 iOS 和 Objective-C/Xcode 加速 TDD 流程

xcode - Nativescript 无法识别 Xcode (High Sierra)

ios - 将大对象从 ViewController 发送到 Objective C 中的另一个,ios?

iphone - UINavigationController,后退动画方向错误

compiler-construction - 编译状态下的 Haskell 可变性?

JavaScript jvm 实现