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

leo*_*uck 2 ios jenkins swift

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

但是build报错,项目好像可以找到CocoaPods生成的模块。

我使用 swift 进行编码并且项目在 Xcode 中成功构建

podfile 是这样的:

platform :ios, '8.0'
use_frameworks!

target 'MyProject' do

pod 'AFNetworking'
pod 'ObjectMapper'

end
Run Code Online (Sandbox Code Playgroud)

詹金斯的错误日志是:

....
/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
Run Code Online (Sandbox Code Playgroud)

Flo*_*Flo 6

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

所以如果没有 CocoaPods,你可以这样做:

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

现在,使用 CocoaPods,您必须:

xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme -configuration