При подписании приложения macOS вручную с помощью профиля обеспечения для App Store произошла ошибка. Подпись кода недействительна - PullRequest
0 голосов
/ 10 января 2019

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

EXC_CRASH (Подпись кода недействительна)

Если я пытаюсь использовать автоматическое управление подписью или ручное управление подписью, но без предоставления профиля, это работает нормально. Что не так с моим профилем обеспечения? Мне нужно использовать ручное управление подписью, потому что мое приложение на самом деле - Xamarin.mac, которое в VS для Mac невозможно, чтобы подписывать автоматически или подписывать вручную без предоставления профиля. Я не использую странные права. Мне нужна только песочница для приложений, чтобы освободить магазин приложений, поэтому в моем профиле обеспечения я не добавляю никаких возможностей

1 Ответ

0 голосов
/ 17 января 2019

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

Общие типы сертификатов включают в себя:

  • iOS разработка
  • дистрибутив iOS
  • Разработка приложений для Mac
  • Распространение приложения Mac
  • Распространение установщика Mac
  • Приложение ID разработчика
  • Установщик идентификатора разработчика

Дополнительные сведения о создании сертификата вручную см. В моем ответе на этот вопрос: Ошибка оценки сертификата установщика macOS в связке ключей: недопустимое использование расширенного ключа

Также обратите внимание, что во время разработки вы будете использовать сертификат разработки iOS, но для загрузки в App Store через iTunes connect вам потребуется сертификат распространения iOS, и его нужно включить в Apple ID, который оплатил распространение iOS , Для получения дополнительной информации о регистрации в программе Apple для разработчиков, которая позволит вам с привилегиями получить действительный сертификат распространения, см. Здесь: https://developer.apple.com/support/enrollment/

Если вы уверены, что это не проблема с самим сертификатом, обратите внимание, что при создании профиля обеспечения вручную были задействованы другие параметры - это не просто сертификат + закрытый ключ. Это профиль, который необходимо создать на портале для разработчиков Apple, но если у вас есть действительный Apple ID, который можно использовать для создания профиля обеспечения, это не должно быть сложным. Здесь есть подробные инструкции: https://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/device-provisioning/manual-provisioning, но позвольте мне перефразировать:

1) Перейдите в Центр участников Apple для разработчиков (https://developer.apple.com/membercenter/index.action),) и в разделе «Сертификаты, идентификаторы и профили» выберите «Профили обеспечения».

2) Нажмите кнопку + в правом верхнем углу, чтобы создать новый профиль.

3) В разделе «Разработка» установите переключатель рядом с «Разработка приложений для iOS» и нажмите «Продолжить»:

Selecting provisioning profile type

4) В раскрывающемся меню выберите идентификатор приложения для использования

5) Выберите сертификат (ы) для включения в профиль обеспечения и нажмите Продолжить

6) Выберите все устройства, на которые будет установлено приложение, это будут все устройства и компьютеры, которые принадлежат вашему Apple ID, на котором будет установлен сертификат распространения.

7) Укажите в профиле обеспечения идентифицируемое имя и нажмите Продолжить, чтобы создать профиль

8) Нажмите «Загрузить», чтобы загрузить профиль обеспечения на Mac

9) Дважды щелкните файл, чтобы установить профиль обеспечения в XCode. Обратите внимание, что Xcode может не показывать никаких визуальных подсказок, что он установил профиль, кроме открытия. Это может быть проверено, просматривая XCode> Предпочтения> Учетные записи. Выберите свой Apple ID и нажмите «Подробнее ...». Ваш новый профиль обеспечения должен быть указан, как показано ниже:

List of your provisioning profiles

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


Контрольный список:

  • Является ли мой сертификат подписи кода правильным типом
  • Был ли мой профиль инициализации правильно зарегистрирован на портале Apple Developer (https://developer.apple.com) для идентификатора Apple, который используется на компьютере, на котором выполняется приложение
  • Правильно ли зарегистрирован мой Apple ID в программе Apple Developer без каких-либо невыплаченных сборов или лицензий, таких как EULA, для принятия.
  • Загрузил ли я свой профиль обеспечения с портала Apple Developer и правильно установил его на своем компьютере, который пытается создать / выпустить приложение.

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

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...