2013-02-28 2 views
3

Я потратил немало времени, пытаясь решить следующую проблему: Мы используем для предоставления xcode-продуктов (OurApp.app) нашим клиентам для тестирования (они обычно затем перетащите их на свои тестовые устройства через iTunes). Конечно, все эти устройства включены для тестирования, т. Е. Добавлены в профиль подготовки, с которым мы создаем приложение. Это работает отлично в течение некоторого времени.Не удалось установить iPhone App архив через Xcode Organizer/iTunes

Теперь клиент сообщил о проблемах с установкой (iOS 6.0), и я могу воспроизвести их на своем iPhone 4 (6.1.2), когда я пытаюсь перетащить встроенный архив в папку приложений моего устройства в Xcode Organizer , Консоль устройства выглядит следующим образом для установки:

installd[54] <Error>: 0x2fef2000 handle_install: Install of "/var/mobile/Media/PublicStaging/OurApp.app" requested by mobile_installation_proxy 
installd[54] <Error>: 0x2fef2000 MobileInstallationInstall_Server: Installing app ch.xxx.ourapp 
installd[54] <Error>: 0x2fef2000 SecTrustEvaluate [leaf CriticalExtensions IssuerCommonName] 
installd[54] <Error>: 0x2fef2000 verify_signer_identity: MISValidateSignatureAndCopyInfo failed for /var/tmp/install_staging.Zq80Gw/OurApp.app/OurApp: 0xe8008015 
installd[54] <Error>: 0x2fef2000 do_preflight_verification: Could not verify executable at /var/tmp/install_staging.Zq80Gw/OurApp.app 
mobile_installation_proxy[4310] <Error>: 0x3d232b88 MobileInstallationInstall: failed with -1 
mobile_installation_proxy[4310] <Error>: handle_install: Installation failed 
installd[54] <Error>: 0x2fef2000 install_application: Could not preflight application install 
installd[54] <Error>: 0x2fef2000 handle_install: API failed 

Я попытался следующие:

  • Verfied архив через codesign verify -vvvv, кажется, все в порядке
  • Когда я развернуть приложение с помощью Xcode> Run (тот же профиль подготовки), приложение может быть установлено и запущено на устройстве
  • Рассматривая встроенное.mobileprovision архива в текстовом редакторе, я вижу, что UDID моего устройства действительно включен
  • При сбое в завершении установки через Organizer удается импортировать профиль подготовки в библиотеку, и он остается там с зеленой галочкой, указывающей, что соответствующий сертификат также доступен (я удалил его и повторил установку, только чтобы наблюдать такое же поведение несколько раз)
  • Вопреки тому, что некоторые люди заявляют на форумах, действительно возможно установить продукты, созданные с помощью профиля разработки через Xcode Organizer. Для этого вам не нужен профиль распространения. У меня есть несколько других приложений, построенных с профилями разработки, для которых описанная процедура установки работает.

Любые идеи могут быть неправильными здесь? Я был бы очень признателен за любые предложения, поскольку я совершенно застрял здесь.

ответ

1

Я видел подобные проблемы, если я просматриваю сборку с помощью Finder перед тем, как вставить ее в IPA. Я думаю, что это создавало файлы .DS_Store, которые были явно неподписанными.

Как вы создаете файлы IPA? Можете ли вы проверить подпись кода при распаковке отказа IPA?

Кроме того, вы знаете о распределении OTA, не так ли? Использовать что-то вроде TestFlight намного проще, чем делать это вручную.

+0

Я создаю архив, просто заархивируя файл .app (zip -y -r MyApp.app). Однако при распаковке я не вижу никаких файлов .DS_Store. Для других проектов мы используем дистрибутив OTA (HockeyKit), но поскольку выпуск для этого нужен только один раз в год, мы не хотим переходить на OTA для этого. – Katlu

+0

Я теперь пытался сгенерировать архивы .ipa вместо zips (/ usr/bin/xcrun -sdk iphoneos PackageApplication -v MyApp.app -o $ WORKSPACE/MyApp. $ BUILD_NUMBER.ipa --embed $ MY_APP_PROVISIONING). Я вижу, что при создании ipa выполняется проверка. Это имеет значение, когда я строю свою локальную машину (теперь ipa можно перетащить в организатор моего устройства), но она по-прежнему не работает, когда ipa построен на сервере сборки. – Katlu

+0

Можете ли вы проверить подпись кода при распаковке отказа IPA? – Jim

Смежные вопросы