Не удалось проверить кодовую подпись MYAPP.app - PullRequest
0 голосов
/ 04 мая 2018

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

ОШИБКА: установка не удалась. Ошибка "ApplicationVerificationFailed" с код 0xe8008015: не удалось проверить подпись кода /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.FVZk62/extracted/Payload/MYAPP.app : 0xe8008015 (действительный профиль обеспечения для этого исполняемого файла не был найдено.)

Я могу отправить приложение в TestFlight, и приложение может быть успешно установлено, но оно сразу же вылетает на заставке с тем же сообщением об ошибке в журнале устройства.

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

Я выполнил следующую команду, и все выглядит здорово.

codesign --verify -vvvv -R='anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and (certificate leaf[field.1.2.840.113635.100.6.1.2] exists or certificate leaf[field.1.2.840.113635.100.6.1.4] exists)' Payload/MYAPP.app 

Выход:

Payload / MYAPP.app: действительно на диске.
Payload / MYAPP.app: удовлетворяет установленному требованию.
Payload / MYAPP.app: явное требование выполнено.

Кто-нибудь сталкивался с подобной проблемой или знает, что может быть основной причиной?

1 Ответ

0 голосов
/ 07 мая 2018

Профиль обеспечения распространения нельзя использовать для непосредственной установки приложения на устройство. Профиль распространения и сертификат используются для подписи приложения для распространения через App Store или Test Flight.

Если вы хотите установить приложение непосредственно на устройство, вам нужно будет использовать либо Профиль разработчика iOS и сертификат, либо, если у вас есть учетная запись Enterprise, профиль In House с сертификатом разработчика. Получить профиль разработчика и сертификат и строить с ними. Обратите внимание, что если вы используете профиль обеспечения разработки, вам необходимо убедиться, что идентификатор устройства, на который вы пытаетесь установить, находится в профиле.

Однако, похоже, вы пытаетесь распространить это также через TestFlight. Во-первых, ваша команда для проверки подписи не будет ничего проверять с помощью профиля обеспечения. Это только подтверждает, что подпись кода была правильной. Ваша ошибка связана с профилем обеспечения. Я бы взял .app, изменил расширение на .zip и разархивировал пакет. Внутри разархивированной папки вы должны найти и внедренный файл .mobileprovision. Это профиль обеспечения, который был связан с приложением при его создании. Я бы открыл этот файл в Text Edit и проверил значения в файле, чтобы убедиться, что они правильные (в частности, такие как идентификатор приложения).

...