Сборка приложения iOS для iPhone работает из xCode, но не из командной строки (xcodebuild)

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

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

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

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

c) машина сборки из xCode

НО это не работает на

г) машина сборки из командной строки с помощью 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 **

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

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

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


person AndersG    schedule 14.04.2011    source источник
comment
Вы когда-нибудь решали это? Кажется, я натыкаюсь на ту же ошибку.   -  person nazbot    schedule 17.05.2011
comment
Нет, я использовал старое шведское устройство Никогда не поздно сдаться и, эмм, сдался. Я мог бы дать ему немного позже, но не сейчас. Интересно увидеть кого-то еще с такой же проблемой здесь. Если вы найдете что-нибудь, я был бы ОЧЕНЬ признателен за комментарий здесь.   -  person AndersG    schedule 18.05.2011
comment
Попробуйте разблокировать связку ключей. Я думаю, что это то, что я сделал, чтобы решить эту проблему (если это действительно та же ошибка).   -  person nazbot    schedule 18.05.2011
comment
Спасибо за комментарий. Попробовал это сейчас, но не сработало :-( Я полагаю, я попытаюсь переустановить все с нуля в качестве последнего отчаянного шага...   -  person AndersG    schedule 24.05.2011


Ответы (2)


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

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

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

security unlock -p $PASSWORD
person Ryan Perry    schedule 23.06.2011

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

security list-keychains -s $KEYCHAINFILE

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

person Giórgenes    schedule 03.08.2011