0

我在尝试设置的 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'

我无法弄清楚有关配置的一些事情:

  1. 是什么促使 jenkins-xcode-plugin ( https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin )/DerivedData/Release-iphoneos/在路径中使用 .a 文件的查找

  2. 相反,为什么它没有选择/DerivedData/Debug-iphoneos/作为查找 .a 文件的路径中的片段

  3. 最后,产生的子模块——libIBAForms、libLambdaAlert、libRestKit——都是具有一个release和一个debug配置文件的项目......所以为什么文件实际上从/DerivedData/Release-iphoneos/它们应该在的路径中丢失......我无法理解。

4

2 回答 2

1

关于第 1 点和第 2 点,这是基于XCode 插件(和 Xcode 本身)的配置参数进行配置的。默认情况下,插件使用参数的“Release”值。如果你想使用“调试”,你应该这样设置。

#3 不知道该说什么

就个人而言,我发现 Xcode 插件具有限制性,并且没有为我提供所需的选项。我正在使用 xcode 附带的命令行工具(通过常规的Execute 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打开

于 2012-11-14T14:44:39.187 回答
0

当我将生成 libIBAForms 和 libLambdaAlert 的子模块作为主项目的“目标依赖项”时,我能够克服这一切

于 2013-02-03T01:03:32.610 回答