Подтвердить что ты не робот

Не удается установить Enterprise-приложение на устройства с незарегистрированными UUID

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

Проблема заключается в следующем: Если я устанавливаю приложение на устройство с зарегистрированным 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 использует профиль distibution/adhoc для подписания
  • Убедитесь, что мой .plist верен.
  • Установлен с помощью простой веб-страницы (та же проблема)
  • Установлен с помощью утилиты настройки iPhone (та же проблема)
  • Около миллиона других более эзотерических модов построения, основанных на опыте других народов и т.д. и т.д. и т.д.

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Причина этой ошибки заключается в том, что в 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.

Ответ 3

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

Вы НЕ должны использовать xcodebuild для создания 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 удаляется во время создания ipa, что приводит к той же ошибке.

Ответ 4

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