Не удается проверить и отправить приложение в Mac App Store

Я делал кодовое кодирование и отправку для приложений iOS бесчисленное количество раз. На этот раз он ударил меня с Mac App Store. Я неоднократно получаю то же сообщение об ошибке:

"Мое имя" является действительным идентификатором. Однако, у вас нет связанного идентификатора пакета.

Я узнал эти 2 темы здесь о переполнении стека: mas-code-signing-identity-private-key и mac-app-package-identity-not-installed

Ничто внутри не разрешило проблему для меня.

Вот как я (наиболее надежно) воспроизвожу это сообщение:

  • Я очищаю все свои сертификаты и закрытые ключи, начиная с "Mac Developer" или "Стороннего разработчика Mac". Конечно же, истекшие.
  • Отмена всего материала на портале сертификации Mac.
  • Создать App-ID (он сделал это только один раз)
  • Создайте новый сертификат для Mac Development. Я могу только предположить, что это сопоставимо с сертификатами отладки для разработки iOS.
  • Создайте новый сертификат для Mac App. Еще раз я могу только предположить, что это может быть что-то похожее на сертификат распространения в iOS-разработке.
  • По завершении создайте новый сертификат/профиль для моей системы.
  • Создайте профиль подготовки производства. Я могу только предположить, что это может быть эквивалентно профилю распространения iOS.
  • Затем я загружаю весь беспорядок сертификата и устанавливаю его правильно. Некоторые идут в брелок, другие попадают в настройки и XCode.
  • Чтобы убедиться, что я перезапускаю XCode или даже весь Mac (в любом случае, это не изменяет разочаровывающий результат).
  • Я перехожу к настройкам сборки проекта и выбираю профиль подготовки производства, потому что я предполагаю, что "производство" эквивалентно "распределению". Изменение идентификатора кодов в настройках целевой сборки также не работает. Хотя Apple утверждает в нем документацию, что для представления в App Store идентификация подписи должна быть изменена в настройках сборки проекта.
  • Я запускаю сборку архива.
  • Я выбираю архив в организаторе и проверяю его.
  • Появится это сообщение об ошибке:

"Мое имя" является действительным идентификатором. Однако, у вас нет связанного идентификатора пакета.

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

Вероятно, я понял что-то не так? Thanx за любую помощь или указатель заранее.

Ответ 1

Хорошо, у меня есть некоторые важные указатели (дополнительные для документации Apple) для людей, которые спотыкаются о подобных проблемах.

  • Сообщение об ошибке полностью вводит в заблуждение.
  • Не воспринимайте каждое слово в документации на яблоки слишком серьезно.

Для решения проблемы наиболее важны 2 балла:

  • В дополнение ко всему другому профилю, вам нужно два сертификата для отправки в Mac App Store (в отличие от того же процесса для представления App Store в iOS). Оба они должны быть установлены вместе с соответствующими парами открытых и закрытых ключей.
    • Mac App
    • Mac Installer
  • Кодировка должна быть задана для цели сборки, а не для проекта. Я не помню, где, но это было описано неправильно в одной из документов Apple.

В конце концов мое представление работало, сохранив эти 2 балла.

Ответ 2

Существует дополнительная проблема с Keychain и XCode.

Когда Xcode использует сертификат, он хочет иметь один и только один сертификат в вашей цепочке ключей. Если у вас есть истекший, а также действительный, Xcode часто не выполняет операцию.

Итак, вы смотрите на свой брелок, используя Keychain Access, и не видите сертификат с истекшим сроком действия. Он все еще там! Значение по умолчанию для Keychain Access скрывает сертификаты с истекшим сроком действия. Перейдите в меню "Вид" и выберите "Показать истекшие сертификаты". Удалите все истекшие, они ни к чему не подходят.

Закройте привязку ключей и перезапустите Xcode. Xcode часто требует перезапуска при добавлении/удалении сертификатов.

В этот момент процесс Archive Validate работал у меня.

Ответ 3

Это то, что было для меня.

Просто хочу уточнить, вам абсолютно необходимы сертификаты распространения Mac App Distribution и Mac Installer Distribution. Спасибо Жаку за ваше объяснение выше. Он должен выглядеть следующим образом: enter image description here

Ответ 4

Да, проблема заключается в сертификате дистрибутива Mac Installer.

Самый простой способ сделать все исправленным и потерять все проблемы, просто перейдите в Xcode- > Window- > Organizer- > Devices, а затем в нижнем правом углу нажмите "Обновить" и войдите в свою учетную запись... xcode будет генерировать и загрузить все необходимые сертификаты и профили обеспечения.