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”?

Ansible 可以替代像 Hudson/Jenkins 这样的 CI 工具吗?

jenkins多模块工程怎么构建

颤振错误:没有这样的模块“谷歌地图”

归档时出现“没有这样的模块‘翠鸟’”错误