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

У нас есть приложение для iOS, которое распространяется внутри компании (посредством MDM или подобных инструментов и никогда не загружается в App Store).
Этому приложению iOS присваивается BundleID com.companyName.App.Env при создании и подписании с использованием профиля подготовки с подстановочным знаком (*) AppID (мы используем Jenkins для работы)
До сих пор все работало нормально!

Теперь нам нужно добавить в это приложение возможность APNS, поэтому, естественно, мне придется создать явный идентификатор приложения через портал разработчика.
Однако, когда я пытаюсь создать явный идентификатор приложения, я получаю следующая ошибка, когда я пытаюсь зарегистрировать его -

Атрибут в предоставленном объекте имеет недопустимое значение.
Идентификатор приложения с идентификатором «com.companyName.App.Env» недоступен. Введите другую строку.

Бизнес и характер использования этого приложения для iOS затрудняют его развертывание с измененным идентификатором приложения.

Вопросы -

  1. если AppID назначается приложению во время создания приложения, но не был создан на портале разработчика, как мне создать Provisioning Profile с этим appID?
  2. Если я не вижу этот AppId на портале разработчиков, где он регистрируется, чтобы я мог сослаться на него или удалить его? (Предполагая, что даже у «внутренних» распределенных приложений идентификаторы приложений сохраняются в какой-либо службе App Store при установке на устройстве)
  3. Действительно ли есть какой-либо другой неразрушающий вариант, при котором мне не нужно будет создавать новый AppID только для этой цели?

Я очень ценю любые предложения или рекомендации.


person Code.Decode    schedule 19.10.2019    source источник
comment
Я удивлен, что никто не сталкивался с этой проблемой?   -  person Code.Decode    schedule 22.10.2019
comment
Итак, вы пытаетесь создать идентификатор приложения на сайте developer.apple.com, который говорит, что он недоступен, и вы не видите его в своем списке идентификаторов? Пробовали ли вы создать другой идентификатор приложения, просто чтобы убедиться, что вы можете это сделать? Есть ли в фактическом идентификаторе какие-либо потенциально неприятные символы или слова?   -  person theMikeSwan    schedule 25.10.2019
comment
Я думаю, что если бы идентификатор приложения уже существовал где-то, он бы сказал, что идентификатор существует, а не сказал, что он недоступен.   -  person theMikeSwan    schedule 25.10.2019


Ответы (1)


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

Это сообщение вы получаете, если идентификатор приложения уже где-то зарегистрирован.

Итак, чтобы ответить на ваши вопросы:

Если AppID назначается приложению во время создания приложения, но не был создан на портале разработчика, как мне создать Provisioning Profile с этим appID?

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

Если я не вижу этот AppId на портале разработчиков, где он регистрируется, чтобы я мог сослаться на него или удалить его? (Предполагая, что даже у «внутренних» распределенных приложений идентификаторы приложений сохраняются в какой-либо службе App Store при установке на устройстве)

Если вы зарегистрировали этот идентификатор приложения, вы можете увидеть его на панели ресурсов портала для разработчиков. в разделе Идентификаторы. Если у вас его там нет, значит, его уже зарегистрировал кто-то другой.

Действительно ли есть какой-либо другой неразрушающий вариант, при котором мне не нужно будет создавать новый AppID только для этой цели?

Вам нужно переключиться на явный идентификатор приложения.



Из этого Технические вопросы и ответы в Apple:

Вы должны использовать идентификатор приложения с подстановочным знаком для всех приложений и целевых приложений, которые не включают возможности, специфичные для приложения.

...

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

В этом примере у App1 есть четыре цели с идентификаторами пакетов:

com.myGreatCompany.app1-часы

com.myGreatCompany.app1-macOS

com.myGreatCompany.app1-tvOS

com.myGreatCompany.app1-iOS

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



Вы можете увидеть это ограничение в действии, даже если вы зарегистрируете новый appID, где подстановочный знак отключает возможности приложения:

введите здесь описание изображения

vs.

введите здесь описание изображения

person Durdu    schedule 29.10.2019