Jenkins iOS构建错误:没有这样的模块'XXX'

时间:2016-06-29 16:29:42

标签: ios swift jenkins

我正在尝试通过Jenkins和CocoaPods归档我的代码。

但是构建错误,似乎项目可以找到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

3 个答案:

答案 0 :(得分:2)

正如@Santosh指出的那样,在使用Xcode UI时,打开工作区是正确的做法。 由于您可能在命令行(或Jenkins是)上使用xcodebuild,因此您必须使用工作空间和方案运行xcodebuild,而不是指定项目和目标。只是想添加这个,就像你要求Jenkins一样。

所以没有CocoaPods,你可以做到:

xcodebuild -project MyProject.xcodeproj -target MyTarget -configuration Release

现在,使用CocoaPods,您必须:

xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme -configuration

答案 1 :(得分:1)

在Jenkins Project配置中指定工作区名称。按照配置>构建> Xcode>高级XCode构建选项 - > XCode工作区文件。这使得jenkins能够使用工作空间而不是项目调用xcodebuild,并且包含pod依赖项。确保你有一个类型为execute shell的构建步骤" / usr / local / bin / pod install"在xcode构建步骤之前。

答案 2 :(得分:0)

完成pod install后,您应该打开.xcworkspace而不是.xcodeproj。请尝试一下,让我知道。