Jenkins iOS 构建错误:没有这样的模块 'XXX'
Posted
技术标签:
【中文标题】Jenkins iOS 构建错误:没有这样的模块 \'XXX\'【英文标题】:Jenkins iOS build error: no such module 'XXX'Jenkins iOS 构建错误:没有这样的模块 'XXX' 【发布时间】:2016-06-29 16:29:42 【问题描述】:我正在尝试通过 Jenkins 和 CocoaPods 归档我的代码。
但是build报错,好像项目能找到CocoaPods生成的模块。
我使用 swift 编码,项目在 Xcode 中构建成功
podfile 是这样的:
platform :ios, '8.0'
use_frameworks!
target 'MyProject' do
pod 'AFNetworking'
pod 'ObjectMapper'
end
Jenkins 中的错误日志是:
....
/Users/xxx/.jenkins/jobs/LIFE_iOS/workspace/MyProject/Core/Model/ItemResult.swift:10:8: error: no such module 'ObjectMapper'
import ObjectMapper
^
** BUILD FAILED **
The following build commands failed:
CompileSwift normal arm64 /Users/xxx/.jenkins/jobs/LIFE_iOS/workspace/MyProject/MGFramework/CustomViews/MartyJunior/MJTableViewTopCell.swift
...
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
(5 failures)
Build step 'Xcode' marked build as failure
Finished: FAILURE
【问题讨论】:
完成 pod install 后,您应该打开 Xcode.workspace 并构建它而不是 .project。试试看 感谢您的回复,它确实有效。还有一个新错误,你能帮我解决它吗? ` === BUILD TARGET ObjectMapper OF PROJECT Pods WITH CONFIGURATION Release === Check dependencies Code Sign error: Provisioning profile does not match bundle identifier: The provisioning profile specified in your build settings ("xxxxx") has an AppID of "me. xxx.ios”,它与您的包标识符“org.cocoapods.ObjectMapper”不匹配。 ** BUILD FAILED ** 以下构建命令失败:检查依赖项构建步骤“Xcode”将构建标记为失败已完成:FAILURE` 请在下方标记为答案。对于您的第二个问题,请参阅:***.com/questions/27973011/… 【参考方案1】:正如@Santosh 所指出的,在使用 Xcode UI 时打开工作区是正确的做法。
由于您可能在命令行(或 Jenkins 是)上使用 xcodebuild
,而不是指定项目和目标,您必须使用工作区和方案运行 xcodebuild
。只是想添加这个,因为你要求詹金斯。
所以如果没有 CocoaPods,你可以做到:
xcodebuild -project MyProject.xcodeproj -target MyTarget -configuration Release
现在,使用 CocoaPods,您必须:
xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme -configuration
【讨论】:
谢谢,我在尝试在 VSTS 上构建时遇到了同样的错误。我将“配置”参数保留为空,它解决了问题。【参考方案2】:在 Jenkins 项目配置中指定工作区名称。按照配置 > 构建 > Xcode > 高级 XCode 构建选项 -> XCode 工作区文件。这使 jenkins 能够使用工作空间而不是项目调用 xcodebuild,其中包括 pod 依赖项。确保在 xcode 构建步骤之前有一个执行 shell "/usr/local/bin/pod install" 类型的构建步骤。
【讨论】:
【参考方案3】:完成pod install
后,您应该打开.xcworkspace
而不是.xcodeproj
。请尝试并告诉我。
【讨论】:
以上是关于Jenkins iOS 构建错误:没有这样的模块 'XXX'的主要内容,如果未能解决你的问题,请参考以下文章
错误:詹金斯“没有这样的模块 <Swift Cocoapod 名称>”
如何解决 Xcode 构建错误“没有这样的模块 RxCocoa”?