【问题标题】:Building iOS app for iPhone works from xCode but not from command line (xcodebuild)为 iPhone 构建 iOS 应用程序可以通过 xCode 工作,但不能通过命令行 (xcodebuild)
【发布时间】:2011-08-05 07:31:15
【问题描述】:

我目前正在尝试通过在 OSX 服务器机器上运行的自动构建、运行 OSX 10.6.7 并安装 xCode 4.0.1 和 iOS SDK 4.3 的 MacMini(Apple 的最新版本)来简化我们的构建和发布过程。 我遵循了Mike Nachbaur's 优秀的指导,感觉就像我快到了,但我还有最后一个障碍要克服。

所以。我们的应用程序可以很好地构建在:

a) 我在 xCode 中的笔记本电脑

b) 我的笔记本电脑从命令行使用 xcodebuild

c) xCode 中的构建机器

但它不起作用

d) 从命令行使用 xcodebuild 构建机器。

这是控制台输出的结尾:

CreateUniversalBinary build/Distribution-iphoneos/CallControl.app/CallControl normal "armv6 armv7"
    cd /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/Users/ainutveckling/Jenkins/tools/jdk6/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /usr/bin/lipo -create /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol/build/Callcontrol.build/Distribution-iphoneos/CallControl.build/Objects-normal/armv6/CallControl /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol/build/Callcontrol.build/Distribution-iphoneos/CallControl.build/Objects-normal/armv7/CallControl -output /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol/build/Distribution-iphoneos/CallControl.app/CallControl

GenerateDSYMFile build/Distribution-iphoneos/CallControl.app.dSYM build/Distribution-iphoneos/CallControl.app/CallControl
    cd /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/Users/ainutveckling/Jenkins/tools/jdk6/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Developer/usr/bin/dsymutil /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol/build/Distribution-iphoneos/CallControl.app/CallControl -o /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol/build/Distribution-iphoneos/CallControl.app.dSYM
ProcessProductPackaging "/Users/ainutveckling/Library/MobileDevice/Provisioning Profiles/F792F2E5-45DB-43C7-969C-6012C59BF778.mobileprovision" build/Distribution-iphoneos/CallControl.app/embedded.mobileprovision
    cd /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/Users/ainutveckling/Jenkins/tools/jdk6/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    <com.apple.tools.product-pkg-utility> "/Users/ainutveckling/Library/MobileDevice/Provisioning Profiles/F792F2E5-45DB-43C7-969C-6012C59BF778.mobileprovision" -o /Users/ainutveckling/Jenkins/workspace/CallControl_iPhoneContiousBuild/Callcontrol/build/Distribution-iphoneos/CallControl.app/embedded.mobileprovision

** BUILD FAILED **

+ failed build
+ echo 'Failed: build'
Failed: build
+ exit 1
Notifying upstream projects of job completion
Finished: FAILURE

在我的机器上,它看起来几乎一样:

GenerateDSYMFile build/Distribution-iphoneos/CallControl.app.dSYM build/Distribution-iphoneos/CallControl.app/CallControl
    cd /Users/anders/Utveckling/CallControl/iphone/totala_samtalslistan/Callcontrol
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/anders/Utveckling/android-sdk-mac_x86/tools:/Users/anders/Utveckling/android-sdk-mac_x86/platform-tools:"
    /Developer/usr/bin/dsymutil /Users/anders/Utveckling/CallControl/iphone/totala_samtalslistan/Callcontrol/build/Distribution-iphoneos/CallControl.app/CallControl -o /Users/anders/Utveckling/CallControl/iphone/totala_samtalslistan/Callcontrol/build/Distribution-iphoneos/CallControl.app.dSYM

ProcessProductPackaging "/Users/anders/Library/MobileDevice/Provisioning Profiles/F792F2E5-45DB-43C7-969C-6012C59BF778.mobileprovision" build/Distribution-iphoneos/CallControl.app/embedded.mobileprovision
    cd /Users/anders/Utveckling/CallControl/iphone/totala_samtalslistan/Callcontrol
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/anders/Utveckling/android-sdk-mac_x86/tools:/Users/anders/Utveckling/android-sdk-mac_x86/platform-tools:"
    <com.apple.tools.product-pkg-utility> "/Users/anders/Library/MobileDevice/Provisioning Profiles/F792F2E5-45DB-43C7-969C-6012C59BF778.mobileprovision" -o /Users/anders/Utveckling/CallControl/iphone/totala_samtalslistan/Callcontrol/build/Distribution-iphoneos/CallControl.app/embedded.mobileprovision

** BUILD SUCCEEDED **

但是成功... 无论我是直接从构建机器上的命令行启动构建还是由 Hudson 启动构建,都没有关系,结果相同。 上面指出的证书似乎已经到位。

我几乎已经准备好放弃这个了,所以我非常感谢任何帮助来阐明这件事!

最好的问候, 安德斯

【问题讨论】:

  • 你解决过这个问题吗?我似乎遇到了同样的错误。
  • 不,我使用了旧的瑞典设备“放弃永远不会太晚”,emm,放弃了。我可能会再给它一些时间,但不是现在。有趣的是看到其他人在这里遇到同样的问题。如果您发现任何东西,我将非常感谢您在这里发表评论。
  • 尝试解锁您的钥匙串。我认为这就是我为解决这个问题所做的(如果确实是同样的错误)。
  • 感谢您的评论。现在已经尝试过了,但是没有用:-(我想我会尝试从头开始重新安装“一切”作为最后的绝望之举......

标签: xcode ios hudson provisioning xcodebuild


【解决方案1】:

更新到新的分发证书和配置文件后,我在构建机器上遇到了您在上面显示的确切错误。在 ProcessProductPackaging 步骤之后,它只会显示 ** BUILD FAILED ** 消息。

但是,在构建机器上手动运行构建时,我遇到了 KeyChain 权限对话框。点击“Allow Always”解决了这个问题。

除了在构建脚本中解锁:

security unlock -p $PASSWORD

【讨论】:

    【解决方案2】:

    将这行代码添加到您的脚本中:

    security list-keychains -s $KEYCHAINFILE

    这已经解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      • 1970-01-01
      相关资源
      最近更新 更多