ОШИБКА ITMS-90283 с «Неверный» com.apple.application-идентификатор «значение права» при отправке приложения Ma c Catalyst - PullRequest
2 голосов
/ 10 марта 2020

Я пытаюсь отправить приложение Ma c Catalyst в первый раз, но загрузка продолжает сбой с этим сообщением об ошибке:

ОШИБКА ITMS-90283: «Неверный профиль обеспечения. Профиль обеспечения, включенный в комплект maccatalyst.com.arlomedia.setlistmaker [maccatalyst.com.arlomedia.setlistmaker.pkg / Payload / SetListMaker.app], является недопустимым. [Недопустимое значение com.apple.application-identifier '. Для получения дополнительной информации посетите Портал разработчика MacOS. "

Это происходит, если я вручную или автоматически подписываю приложение. С ручной подписью у меня есть новый профиль обеспечения MacOS App Store, который я создал как профиль Ma c Catalyst, используя связанный iOS идентификатор приложения. Это показано как действительное на портале инициализации, и я могу создать (заархивировать) приложение просто отлично с этим выбранным профилем:

Xcode signing settings

Когда я go через процесс отправки в организаторе XCode я должен "Импортировать" профиль обеспечения каждый раз (я загрузил файл обеспечения, и просто выбираю загруженный файл здесь), который является нечетным:

enter image description here

Но после выбора файла я могу щелкнуть его значок информации, и все выглядит правильно:

enter image description here

Затем я продолжаю загрузку, и когда индикатор выполнения достигает конца, появляется ошибка и происходит сбой отправки.

Сообщение об ошибке указывает, что что-то не так с идентификатором приложения, но я проверил это везде я могу найти это, и это выглядит правильно. Я использую автоматически полученные идентификаторы пакетов, которые ставят префикс «maccatalyst» на мой iOS идентификатор пакета. В некоторых местах, где это появляется, перед идентификатором также стоит префикс идентификатора приложения из записи идентификатора приложения на портале обеспечения. Снимок экрана выше показывает, что последняя буква идентификатора приложения обрезана, но я думаю, что это просто отображение в Xcode; если я открою файл инициализации, появится полный идентификатор.

У меня есть другое приложение, над которым я работал в то же время, и я смог успешно его отправить. Я открыл заархивированные файлы .app для обоих проектов и сравнил встроенные профили обеспечения, и единственные различия - это то, что я ожидал, например, имя приложения и время экспорта. Идентификаторы приложений и идентификаторы пакетов форматируются одинаково, с правильными префиксами приложения. Я также сравнил файлы info.plist для двух приложений и не увидел там значительных отличий. Другое приложение также потребовало, чтобы я выбрал профиль во время процесса отправки, поэтому кажется, что это не проблема (хотя с моими iOS представлениями, имя профиля появляется там автоматически).

Когда я включаю automati c подпись, некоторые шаги загрузки пропущены, но я получаю то же сообщение об ошибке в конце загрузки. Если я использую кнопку «Проверить приложение» вместо кнопки «Распределить приложение» в органайзере Xcode, я go через те же шаги и получаю то же сообщение об ошибке.

Я сравнил настройку идентификаторов приложения и профили обоих приложений, параметры подписи, настройки сборки, страницы информации о приложении в iTunes Connect ... все настроено одинаково. Кто-нибудь знает, что еще я должен проверить?

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Я наконец заставил это работать, отказавшись от автоматически полученного идентификатора пакета "maccatalyst" и используя собственный идентификатор пакета. Вот шаги, которые я предпринял:

  1. В Xcode отключите настройку сборки «Derive Ma c Catalyst Product Bundle Identifier».
  2. Отредактируйте сборку «Product Bundle Identifier» установка и добавление отдельного идентификатора пакета для платформы MacOS. (снимок экрана 1)
  3. На портале обеспечения iOS отредактируйте идентификатор приложения для связанного приложения iOS и отключите опцию Ma c Catalyst.
  4. Создайте новый Идентификатор приложения для версии приложения Ma c и введите новый идентификатор пакета macOS.
  5. Создайте новые профили разработки и распространения, используя новый идентификатор приложения. При создании профилей это должны быть Ma c Catalyst, а не Ma c профили. При проверке Xcode принимает только профили Ma c Catalyst. (снимок экрана 2)
  6. В App Store Connect отредактируйте запись приложения macOS и измените идентификатор пакета с идентификатора макатализатора на пользовательский идентификатор. Это все еще было редактируемым, потому что я еще не успешно загрузил двоичный файл.

Мои новые профили теперь отображаются как соответствующие требованиям на вкладке Подписи и возможности в XCode, но они не отображаются в качестве параметров при проверке страница при отправке. Однако, как и в случае с моей первоначальной настройкой, я могу выбрать там параметр «Импортировать профиль» и выбрать файл, загруженный с портала обеспечения.

Обратите внимание, что это настройка, которую следует использовать, если вы не хотите использовать универсальную покупку. Если вы этого хотите, вам потребуется использовать тот же идентификатор пакета, что и для приложения iOS, и вам может потребоваться дождаться выпуска Xcode 11.4, чтобы отправить приложение с этой настройкой. Я не уверен в этом, но я уверен, что вы не можете отправлять приложения с бета-версией Xcode 11.4, потому что я попробовал это. (снимок экрана 3)

Я не пробовал автоматическую подпись c с настройкой пользовательского идентификатора пакета. Я думаю, что это будет работать, потому что я думаю, что проблема была связана с автоматически полученным идентификатором пакета. Это в основном осуждается с готовящимся Xcode 11.4 и возможностью универсальных покупок, поэтому я подозреваю, что изменение на стороне Apple нарушило проверку этого стиля идентификатора пакета, возможно, только в ограниченных случаях, которые повлияли на мое приложение из-за некоторого фактора, который ни я ни Apple не удалось определить.

Пользовательские настройки идентификатора пакета: Custom bundle ID settings

"Профиль не является" Ма c Профиль магазина Catalyst App Store:

Невозможно отправить из Xcode бета: Cannot submit from Xcode beta

0 голосов
/ 18 марта 2020

Я нашел этот документ:

Технические вопросы и ответы QA1710: Почему я получаю ошибку "Недопустимое право на идентификатор приложения"?

В нем говорится:

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

XCode создает право идентификатора приложения для вас на основе свойства идентификатора пакета, определенного на вкладке Цель> Информация вашего проекта Xcode, поэтому установка правильного идентификатора пакета в XCode является обязательной.

Я не У меня есть одна из этих проблем, но, возможно, это поможет кому-то другому получить эту ошибку.

...