我正在使用 Swift 4.2 和 Xcode 10.1。我正在尝试在 Swift 中构建一个框架,该框架依赖于用 Objective C 编写的 Alamofire。我手动添加了 Alamofire.xcodeproj,如 Alamofire 的自述文件中给出的那样。单个目标构建良好。我的框架目标构建良好。
当我尝试使用使用以下命令的脚本创建胖框架时出现问题
xcodebuild -project "${FRAMEWORK_NAME}.xcodeproj" -scheme "${FRAMEWORK_NAME}" -configuration "${CONFIGURATION}" -arch arm64 -arch armv7 -arch armv7s only_active_arch=no BITCODE_GENERATION_MODE=bitcode defines_module=yes -sdk "iphoneos" -derivedDataPath "${OUTPUT_DIR}"
我收到以下错误:
未找到伞头“Alamofire.h”
无法构建 Objective-C 模块“Alamofire”
错误的第二行来自另一个依赖于 Alamofire 的依赖项“Moya”(见图)
令人费解的是,普通的 Cmd+B 对通常的目标工作正常,但 xcodebuild 失败。
我尝试过的事情:
- 删除派生文件夹,清理构建。
- 首先构建单个依赖项,然后构建通用聚合目标。
- 创建自定义模块映射
- 将所有依赖项的配置更改为相同,例如调试
- 将 Alamofire.xcodeproj 的 Swift 语言版本更改为 Swift 4.2
我认为 xcodebuild 命令需要更多输入。我错过了什么?
更新:
我进一步挖掘。
Debug-iphoneos/Alamofire.framework/ 中的 Headers 文件夹是空的,它应该包含伞头 Alamofire.h。