我正在尝试通过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
答案 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
。请尝试一下,让我知道。