首页 > 解决方案 > 无法在 Xcode 10.2 中使用通用框架编译项目

问题描述

我有一个框架,它是在SwiftObjective-C. 我为两者创建了一个胖框架,如果我尝试在项目中使用它,我会收到如下错误:

找不到架构 x86_64 的模块找到 arm64,arm,arm7

对于这两个框架。我正在使用 Xcode 10.2。

标签: iosframeworks

解决方案


如果您正在构建一个包含 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


推荐阅读