提问人:rogueserenity 提问时间:10/28/2021 更新时间:5/31/2022 访问量:245
使用 xcodebuild 构建依赖于通过 SPM 安装的 CocoaLumberjack 的应用程序
Building Apps using xcodebuild that depend on CocoaLumberjack installed via SPM
问:
我正在尝试自动构建依赖于使用 Swift Package Manager (SPM) 安装的 CocoaLumberjack 的项目。该项目在 Xcode(12.5.1 和 13)中构建良好,但在终端中使用 .我收到一个错误,抱怨找不到。我创建了两个新项目,一个是 swift,一个是 objective-c 来复制这个问题。在这两种情况下,Xcode 都能很好地工作,但在命令行上失败了。xcodebuild
module map
Objective-C 错误:
fatal error: module map file '/Users/XXX/Development/git/TestAppObjC/build/GeneratedModuleMaps/CocoaLumberjack.modulemap' not found
Swift 错误:
<unknown>:0: error: module map file '/Users/XXX/Development/git/TestAppSwift/build/GeneratedModuleMaps/CocoaLumberjackSwiftSupport.modulemap' not found
<unknown>:0: error: module map file '/Users/XXX/Development/git/TestAppSwift/build/GeneratedModuleMaps/CocoaLumberjack.modulemap' not found
我正在运行的确切命令:
xcodebuild clean build
示例项目:
答:
1赞
markturnip
5/31/2022
#1
传递到似乎可以解决该问题。derivedDataPath
xcodebuild
您可以在 Xcode 偏好设置中找到“派生数据”路径。
就我而言:
xcodebuild -scheme TestAppSwift -derivedDataPath /Users/mt/Library/Developer/Xcode/DerivedData
成功构建:
note: Build preparation complete
note: Building targets in dependency order
** BUILD SUCCEEDED ** [0.132 sec]
评论
0赞
markturnip
5/31/2022
请注意,传递时需要:scheme
derivedDataPath
xcodebuild: error: The flag -scheme, -testProductsPath, or -xctestrun is required when specifying -derivedDataPath.
0赞
markturnip
5/31/2022
另一种选择是通过clonedSourcePackagesDirPath
评论