【问题标题】:Jenkins xcode plugin - how to resolve library search path issues?Jenkins xcode 插件 - 如何解决库搜索路径问题?
【发布时间】:2012-11-02 13:54:54
【问题描述】:

我在尝试设置的 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 - 都是具有releasedebug 配置文件的项目......所以为什么这些文件实际上从/DerivedData/Release-iphoneos/ 路径中丢失他们应该是......超出了我的范围。

【问题讨论】:

    标签: xcode jenkins continuous-integration restkit continuous-deployment


    【解决方案1】:

    关于第 1 点和第 2 点,这是基于 XCode 插件(和 Xcode 本身)的 Configuration 参数配置的。默认情况下,插件使用参数的“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 开关的完整路径

    【讨论】:

    • AdHoc 的配置文件不等于“构建配置”。但是,您可能创建了一个名为“AdHoc”的构建配置(我不知道,这是您的项目)。无论哪种情况,请指定您想要的构建配置和配置文件。
    • 几个月来我不得不继续其他工作,但我的团队中没有其他人可以验证您的解决方案 Slav。您是否希望我将您的解决方案标记为“答案”......考虑到您投入的所有工作?或者你是否同意我在几个月后回到这个问题并真正深入研究?
    • 嘿,不管你做什么我都可以:)
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 2022-01-23
      • 1970-01-01
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多