В настоящее время я пытаюсь оптимизировать наш процесс сборки и выпуска с помощью автоматической сборки, которая работает на сервере 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 **

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

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

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

3
AndersG 14 Апр 2011 в 11:14
1
Вы когда-нибудь это решали? Кажется, я сталкиваюсь с той же ошибкой.
 – 
nazbot
17 Май 2011 в 20:25
Нет, я воспользовался старым шведским приёмом «Сдаться никогда не поздно» и, эммм, сдался. Я мог бы уделить этому еще немного времени позже, но не сейчас. Интересно видеть, что у кого-то здесь такая же проблема. Если вы что-нибудь найдете, я был бы очень признателен за комментарий здесь.
 – 
AndersG
18 Май 2011 в 16:23
Попробуйте разблокировать брелок. Я думаю, что это то, что я сделал, чтобы решить эту проблему (если это действительно та же ошибка).
 – 
nazbot
18 Май 2011 в 18:52
Спасибо за комментарий. Попробовал сейчас, но не сработало :-( Полагаю, я попробую переустановить "все" с нуля в качестве последнего отчаянного шага ...
 – 
AndersG
24 Май 2011 в 16:51

2 ответа

Лучший ответ

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

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

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

security unlock -p $PASSWORD
2
Ryan Perry 23 Июн 2011 в 20:02

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

security list-keychains -s $KEYCHAINFILE

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

0
Valentin Despa 15 Ноя 2012 в 17:13