2013-09-05 3 views
13

Я создал универсальное приложение. Я пытаюсь распространять приложение, используя нашу Лицензию Enterprise Developer.Не удается установить приложение Enterprise на устройства с незарегистрированными UUID

Проблема заключается в следующем: Если я устанавливаю приложение на устройство с зарегистрированным UUID, приложение устанавливает его. Если я «ПОПРОБУЮ», чтобы установить приложение на устройство, на котором нет зарегистрированного UUID, установка не завершается. Я получаю сообщение «Невозможно загрузить приложение» «Мое приложение» не может быть установлено в это время.

Вот журнал я получаю:

Sep 5 10:47:07 my-iPad installd[54] <Error>: 0x2c3000 handle_install: Install of "/var/mobile/Media/PublicStaging/My App.app" requested by mobile_installation_proxy 
Sep 5 10:47:08 my-iPad installd[54] <Error>: 0x2c3000 MobileInstallationInstall_Server: Installing app com.mysite.My-App 
Sep 5 10:47:08 my-iPad installd[54] <Error>: profile not valid: 0xe8008012 
Sep 5 10:47:08 my-iPad installd[54] <Error>: 0x2c3000 install_embedded_profile: Could not install embedded profile: 0xe8008012 
Sep 5 10:47:08 my-iPad installd[54] <Error>: Sep 5 10:47:08 SecTrustEvaluate [leaf CriticalExtensions IssuerCommonName] 
Sep 5 10:47:09 my-iPad installd[54] <Error>: 0x2c3000 verify_signer_identity: MISValidateSignatureAndCopyInfo failed for /var/tmp/install_staging.xjOLHU/My Appp.app/My App: 0xe8008015 
Sep 5 10:47:09 my-iPad installd[54] <Error>: 0x2c3000 do_preflight_verification: Could not verify executable at /var/tmp/install_staging.xjOLHU/My App.app 
Sep 5 10:47:09 my-iPad installd[54] <Error>: 0x2c3000 install_application: Could not preflight application install 
Sep 5 10:47:09 my-iPad mobile_installation_proxy[907] <Error>: 0x3cadbb78 MobileInstallationInstall: failed with -1 
Sep 5 10:47:09 my-iPad mobile_installation_proxy[907] <Error>: handle_install: Installation failed 
Sep 5 10:47:10 mu-iPad installd[54] <Error>: 0x2c3000 handle_install: API failed 

Я уже сделал обычный поиск и устранение неисправностей:

  • Создать новые сертификаты, убедившись, что я имел сертификат для распространения в доме
  • Создать новое распределение профилей
  • Сделано уверен, что .ipa использует профиль от дистрибутива/AdHoc для подписания
  • Проверено, что мой .plist правильно
  • установлен с помощью простой веб-страницы (та же проблема)
  • Installed с помощью утилиты iPhone Configuration (такая же проблема)
  • около миллиона других эзотерических модов строят на основе других народов опыт и т.д. ... и т. д. ... и т.д. ...

Я уверен, что проблема заключается в том, чтобы сделать профиль распределения. Журнал ошибок, похоже, указывает на проблему с профилем («профиль недействителен: 0xe800812»). Я говорил с поддержкой Apple, и они говорят, что сертификаты и профили кажутся правильными.

Один из моих вызовов поддержки меня смутил. Представитель Apple сказал, что вам все равно необходимо зарегистрировать UUID всех устройств EVEN при создании приложения для распространения с использованием лицензии Enterprise. Я не думаю, что это точно. Из моих исследований, .ipa содержит встроенный профиль, который установлен, и вам НЕ нужно регистрировать все устройства.

НО, как я сказал ранее: если я запустил установку на устройстве, включенном в профиль распределения/adhoc, он работает. Я совершенно смущен и отчаянно нуждаюсь в помощи.

ответ

38
  1. Возьмите файл IPA, переименуйте его, чтобы иметь расширение .zip.
  2. Распакуйте этот файл и откройте каталог полезной нагрузки в Finder.
  3. Щелкните правой кнопкой мыши свое приложение и выберите Показать содержимое пакета.
  4. Найдите файл embedded.mobileprovision и откройте этот файл в текстовом редакторе (например, TextEdit).

Теперь, если внутри этого документа XML вы видите ключ для ProvisionedDevices, вы не подписываетесь с соответствующим профилем подготовки. Вам нужно создать профиль подготовки In House. В случае, если вы правильно подписали свое приложение с профилем In House, вы не увидите ключ ProvisionedDevices в файле embedded.mobileprovsion, а скорее ключ для ProvisionsAllDevices, который будет true.

+0

Вы прибили его. Мой вопрос заключается в том, как создать профиль предоставления услуг In House? Вот что я делаю. Я создал сертификат распространения, используя «Production - In-House and Ad Hoc». У меня уже есть идентификатор приложения. Затем я создаю новый профиль распространения. Единственный выбор, который я вижу: Development - разработка и распространение приложений IOS - Ad Hoc I не видите вариант «In-House». Я что-то упустил? – JustLearningAgain

+1

Сначала убедитесь, что вы используете корпоративную учетную запись: Идите сюда: https://developer.apple.com/membercenter/index.action#progСуществует и если вы не видите «IOS Developer Enterprise Program», вы используете неправильную учетную запись. – mattyohe

+0

Если вы видите, что используете правильную учетную запись, перейдите на страницу «Сертификаты, идентификаторы и профили»: https: // developer. apple.com/account/ios/profile/profileList.action Нажмите кнопку «плюс». Теперь вам нужно спросить: «Какой профиль профилирования вам нужен?», и вам нужно выбрать «In House» в заголовке Distribution. – mattyohe

1

Я согласен с вами, нет необходимости регистрировать устройство для сертификата предприятия. Кажется, что ваш профиль не связан с вашим сертификатом предприятия, а является сертификатом adhoc, возможно ли это? (если у вас несколько сертификатов). Вы пытаетесь удалить и переустановить сертификаты в доступе к цепочке ключей?

3

Причина этой ошибки заключается в том, что в iOS 7.1 Beta ссылка на plist должна быть в формате https. Если URL-адрес не указан вам в формате https, просто измените http на https следующим образом: itms-services: //? Action = download-manifest & url = https://hostname.utest.com/OTA_App_Name.plist Затем скопируйте и вставьте всю ссылку (начиная с itms-services) в Safari, и вы сможете загрузить и установить приложение с помощью OTA.

+0

здесь 'в http означает безопасный. Так что попробуйте. –

+0

Исходный вопрос не связан с 7.1. Об этом просил последний сентябрь. – mattyohe

+0

У вас есть источник этого изменения? это то, что происходит с моими установщиками. Есть ли способ использовать его без https? –

2

Если это может быть полезно, у меня была такая же проблема, и я действительно использовал сертификат предприятия, но проблема исходила из самого ipa.

Вы should NOT use xcodebuild to create the ipa:

xcodebuild \ 
-exportArchive \ 
-exportFormat IPA \ 
-exportPath "$BUILD_PATH/$PRODUCT_NAME.ipa" \ 
-archivePath "$BUILD_PATH/$PRODUCT_NAME.xcarchive 

, но вместо того, чтобы использовать xcrun

xcrun -sdk iphoneos PackageApplication \ 
    -v $BUILD_PATH/$PRODUCT_NAME.xcarchive/Products/Applications/$PROJECT_NAME.app \ 
    -o $BUILD_PATH/$PRODUCT_NAME.ipa 

, потому что в противном случае файл archived-expanded-entitlements.xcent удаляется при создании ипа, что приводит к такой же ошибке.

+1

примечание xcrun требует абсолютных путей – vish

+1

Ты мой любимый человек, когда-либо находящийся прямо сейчас. Спасибо! – Steve

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