我在我正在尝试设置的jenkins xcode构建中遇到此错误:
clang: error: no such file or directory: '/Users/boo/.jenkins/jobs/myProject/workspace/DerivedData/Release-iphoneos/libIBAForms.a'
clang: error: no such file or directory: '/Users/boo/.jenkins/jobs/myProject/workspace/DerivedData/Release-iphoneos/libLambdaAlert.a'
clang: error: no such file or directory: '/Users/boo/.jenkins/jobs/myProject/workspace/DerivedData/Release-iphoneos/libRestKit.a'
我无法弄清楚有关配置的一些事情:
是什么促使jenkins-xcode-plugin(https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin)在路径中使用/DerivedData/Release-iphoneos/
来查找.a文件
相反,为什么不选择/DerivedData/Debug-iphoneos/
作为查找.a文件的路径中的片段
最后生成的子模块 - libIBAForms,libLambdaAlert,libRestKit - 都是具有release
和debug
配置文件的项目...那么为什么文件实际上从{ {1}}它们应该是...的路径超出了我的范围。
答案 0 :(得分:1)
关于第1点和第2点,这是基于XCode插件(和Xcode本身)的配置参数配置的。默认情况下,插件使用参数的“Release”值。如果你想使用“Debug”,你应该这样设置它。
不知道对#3
说些什么就个人而言,我发现Xcode插件具有限制性,并没有为我提供所需的选项。我正在使用xcode附带的命令行工具(通过常规执行Shell 构建步骤)
// Below are my build parameters for the job through regular means
CONFIGURATION=Debug
CODE_SIGN_IDENTITY=iPhone Developer: <DeveloperNameHere>
PROVISIONING_PROFILE=3000000B-7000-4000-9CD5-D0000B0F0000
//
// Code for Execute Shell
xcodebuild -verbose -alltargets -configuration ${CONFIGURATION} clean build CODE_SIGN_IDENTITY="${CODE_SIGN_IDENTITY}" PROVISIONING_PROFILE=${PROVISIONING_PROFILE}
&&
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${WORKSPACE}/path_here/${CONFIGURATION}-iphoneos/application.app" -o "${WORKSPACE}/path_here/${CONFIGURATION}-iphoneos/application.ipa" --sign "${CODE_SIGN_IDENTITY}" --embed "/Users/<youruser>/Library/MobileDevice/Provisioning Profiles/${PROVISIONING_PROFILE}.mobileprovision"
通常为作业设置参数
xcodebuild命令执行实际构建
xcrun命令将应用程序打包到IPA(Xcode中的存档步骤),对其进行签名,并将配置文件直接嵌入到IPA中。
请注意,其中一些开关是选项,可能不是您需要的。但这是通过命令行完成的好处:您可以完全控制您想要做的事情
小记:确保在第二个命令上提供-v
和-o
开关的完整路径
答案 1 :(得分:0)
当我使用生成libIBAForms和libLambdaAlert的子模块作为主要项目的“目标依赖关系”时,我能够克服这一切