使用Xcode 6,我们可以创建自己的动态Cocoa Frameworks
.
因为:
-
模拟器仍在使用
32-bit
个库 -
从2015年6月1日开始,提交给app Store的应用程序更新必须包括64位支持,并使用iOS 8 SDK(developer.apple.com)构建
我们必须制作FAT库来在设备和模拟器上运行项目.即在框架中既支持32位又支持64位.
但我没有找到任何手册,如何将export个通用FAT框架用于将来与其他项目的集成(并与某人共享此库).
以下是我复制的步骤:
-
在
Build Settings
中设置ONLY_ACTIVE_ARCH=NO
-
将支持
armv7 armv7s arm64 i386 x86_64
添加到Architectures
(肯定)
- 构建框架并在Finder中将其打开:
- 将此框架添加到另一个项目中
实际结果:
但是最终在设备和模拟器上同时运行这个框架的项目还是有问题的.
-
如果我从
Debug-iphoneos
文件夹中提取框架-它可以在设备上运行 并在模拟器上出现错误:ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
fat文件中的体系 struct :CoreActionSheetPicker是:armv7 armv7s arm64
-
如果我从
Debug-iphonesimulator
文件夹中提取框架-它可以在模拟器上运行.我在设备上有错误:ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
fat文件中的体系 struct :CoreActionSheetPicker是:i386 x86_64
那么,如何创建一个在设备和模拟器上工作的动态框架呢?
这个答案与Xcode 6 iOS Creating a Cocoa Touch Framework - Architectures issues有关,但不是重复的.
更新:
我为这个案子找到了一个"肮脏的黑客".看我的answer below美元. 如果有人知道更方便的方式-请让我知道!