到目前为止,我已经通过将源文件直接编译到我的应用程序中(如这里所述),使用了Objective-C的Google API客户端库。如果我切换到链接到iOS静态库(如本文所述),这将如何确保代码在不同的架构上工作?
例如,如果我遵循逐字逐句的指令,我必须通过选择模式(GTLTouchStaticLib
)和架构(例如iOS Simulator: iPhone 5
)来编译静态库。如果我选择模拟器作为体系结构,file libGTLTouchStaticLib.a
会报告归档文件包含体系结构i386
和x86_64
的代码。如果我选择的是物理版iPhone 5,file
会报告体系结构armv7
和arm64
。
我如何确保我将要拖到应用程序项目的构建阶段"将二进制与库链接"列表中的libGTLTouchStaticLib.a
(根据谷歌的说明)包含我的应用程序上线时可能遇到的所有(而不仅仅是一些)架构?我想armv7
和arm64
对于一个需要iOS8的应用程序来说已经足够了,但我想确定一下。)
您必须使用lipo
命令行工具组合生成的二进制文件。
以下关于在iOS中创建静态库的教程演示了lipo
在Universal Binaries