Сборка iOS-приложения для iPhone работает из xCode, но не из командной строки (xcodebuild) - PullRequest
3 голосов
/ 14 апреля 2011

В настоящее время я пытаюсь упростить процесс сборки и выпуска с помощью автоматической сборки, работающей на компьютере с сервером OSX, MacMini под управлением OSX 10.6.7 с установленным xCode 4.0.1 и iOS SDK 4.3 (последний выпуск от Apple). Я следовал за отличным гидом Майка Нахбаура, и мне кажется, что я почти на месте, но у меня все еще есть одно последнее препятствие, которое нужно преодолеть.

Итак. У нас есть приложение, которое отлично работает на:

а) Мой ноутбук изнутри xCode

б) Мой ноутбук из командной строки с xcodebuild

в) машина сборки из 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 **

Но успех ... Не имеет значения, запускаю ли я сборку непосредственно из командной строки на машине сборки или запускает она Хадсоном, тот же результат. Сертификат, указанный выше, кажется, на месте.

Я почти готов отказаться от этого, поэтому я был бы очень признателен за любую помощь, чтобы пролить свет на этот вопрос!

С уважением, Андерс

Ответы [ 2 ]

2 голосов
/ 23 июня 2011

Я столкнулся с точной ошибкой, которую вы показали выше на моей сборочной машине после обновления до нового сертификата распространения и профиля обеспечения.После шага ProcessProductPackaging он просто отобразит сообщение ** BUILD FAILED **.

Однако при запуске сборки вручную на компьютере сборки я столкнулся с диалоговым окном разрешения KeyChain.Нажатие «Разрешить всегда» исправило проблему.

Это помимо разблокировки в скрипте сборки:

security unlock -p $PASSWORD
0 голосов
/ 03 августа 2011

Добавьте эту строку кода в ваш скрипт:

security list-keychains -s $KEYCHAINFILE

Это устранило проблему для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...