我是框架开发的新手,这是我的情况。我构建了一个私有静态库,将其提供给供应商以链接它。
目前,我仅使用 arch armv7 和 arm64 构建我的库,这应该适用于供应商在 iOS 设备中调试它并归档他们的应用程序,但不适用于在 iOS 模拟器中调试。模拟器需要 x86_64(甚至 iPhone 5 模拟器中的 i386)。禁用在模拟器中调试它的能力是不友好的。我正在考虑为他们提供一个静态库的胖架构。
这是动作
lipo -create libSignatureLibary_armv6.a libSignatureLibary_armv7.a libSignatureLibary_i368.a -output libSignatureLibary.a
合并操作后,输出库的大小是单个库的两倍。
问题是,编译器/Xcode 会从最终的应用产品二进制文件中去除 i386 和 x86_64 拱符号吗?如果没有,fat arch 库会直接增加产品应用的大小,对吧?我应该为供应商构建两个版本的库,一个用于调试,另一个用于存档?这种情况的正确解决方案是什么?
我不知道我应该研究什么关键字,我也没有现有的产品应用程序链接它来验证这一点。(也许我应该稍后再建一个。)