[英]Unable to compile project using universal framework in Xcode 10.2
我有一个框架,它是用Swift
和Objective-C
。 我为两者都创建了一个胖框架,如果尝试在项目中使用它,则会收到如下错误:
找不到架构x86_64的模块,找到arm64,arm,arm7
对于两个框架。 我正在使用Xcode 10.2。
如果您要构建一个包含Swift代码的框架,并使用lipo创建同时支持设备和模拟器平台的二进制文件,则还必须为每个平台组合生成的Framework-Swift.h标头,以创建同时支持设备和模拟器的标头平台。 (48635615)例如,如果您已构建:
- iOS/Framework.framework
- iOS Simulator/Framework.framework
采取:
- iOS/Framework.framework/Headers/Framework-Swift.h
- iOS Simulator/Framework.framework/Framework-Swift.h
创建一个新的:
- iOS + iOS Simulator/Framework.framework/Headers/Framework-Swift.h
新Framework-Swift.h的内容应为:
#if TARGET_OS_SIMULATOR
<contents of original iOS Simulator/Framework.framework/Framework-Swift.h>
#else
<contents of original iOS/Framework.framework/Framework-Swift.h>
#endif
信用: https : //developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes?language=objc
刚遇到同样的问题,可以使用此处存储的脚本对其进行修复:
https://gist.github.com/quangDecember/9f7d65964b7df8d71c4a1cfd4f95c0ee
只需使用链接中的脚本替换创建胖框架的脚本即可。 这对我来说很完美。 XCode 10.2
我有同样的问题,唯一的选择是在真实设备上运行该应用程序。 但是,如果您只想构建项目,则选择“通用iOS设备”选项,而不选择“ iPhone 6”,“ iPhone 7”或其他。
除了要求框架的所有者发布具有x86_64体系结构的版本外,没有其他解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.