Не удается проверить и отправить приложение в 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). Оба они должны быть установлены вместе с соответствующими парами открытых и закрытых ключей.
- Кодировка должна быть задана для цели сборки, а не для проекта. Я не помню, где, но это было описано неправильно в одной из документов 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 будет генерировать и загрузить все необходимые сертификаты и профили обеспечения.