使用Xcode 6,我们可以创建自己的Dynamic Cocoa Frameworks
。
因为:
模拟器仍在使用
32-bit
库-
从2015年6月1日开始,提交给App Store的应用程序更新必须包含64位支持,并使用iOS 8 SDK(developer.apple.com)构建
我们必须制作胖子库才能在设备和模拟器上运行项目。即在Frameworks中同时支持32位和64位。
但是我没有找到任何手册,没有找到如何导出通用的Fat Framework以便将来与其他项目集成(以及与他人共享该库)的手册。
这是我复制的步骤:
设置
ONLY_ACTIVE_ARCH=NO
在Build Settings
armv7 armv7s arm64 i386 x86_64
为Architectures
(肯定)添加支持
- 构建框架并在Finder中打开它:
- 将此框架添加到另一个项目
实际结果:
但是最后,我仍然无法立即在设备和模拟器上运行带有此框架的项目。
如果我从
Debug-iphoneos
文件夹中获取框架-它可以在设备上运行并在模拟器上出错:ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
胖文件:CoreActionSheetPicker中的体系结构为:armv7 armv7s arm64
如果我从
Debug-iphonesimulator
文件夹中获取框架-它可以在模拟器上使用。我在设备上有错误:ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
胖文件:CoreActionSheetPicker中的体系结构是:i386 x86_64
那么,如何创建可在设备和模拟器上运行的动态框架?
此答案与Xcode 6 iOS创建Cocoa Touch框架-体系结构问题有关,但不是重复的。
更新:
我发现了这种情况下的“肮脏骇客”。请参阅下面的答案。如果有人知道更方便的方法-请让我知道!