繁体   English   中英

无法使用Xcode 10.2中的通用框架编译项目

[英]Unable to compile project using universal framework in Xcode 10.2

我有一个框架,它是用SwiftObjective-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM