Я попытался добавить расширения в свое приложение для iOS, как сегодняшнее расширение, так и приложение Apple Watch. Мое приложение было завершено, однако при отправке моего архива я получил ошибку, основанную на идентификаторах моего пакета. Затем я удалил расширения, добавил их обратно и попытался повторно отправить. Однако теперь xcode жаловался, что мои профили подготовки не могут быть подписаны.
«Идентификатор приложения с идентификатором com.example.app.extention недоступен. Введите другую строку».
Я немедленно пошел в центр участников, чтобы узнать, существует ли уже идентификатор приложения, который не позволяет мне использовать его для моих расширений. Ничего не противоречило названию, вот что показалось мне таким странным. Разве я не могу создать новый идентификатор, если он не противоречит старому идентификатору? Я также удалил все профили обеспечения из предыдущих расширений. Тем не менее, я не смог добавить ни "com.example.app.extention"
, ни "com.example.app.watchkitextension."
Я решил просто создать новые идентификаторы приложений, следуя новому соглашению об именах, например "com.example.app.extentions.watchkitextension."
или "com.example.app.extentions.todayextention."
. Все работало нормально, и все было нормально. Установил на свои устройства, все было хорошо. Мой архив даже проверили. Однако при отправке я получаю сообщение об ошибке:
ОШИБКА ITMS-90347: «Неверный идентификатор пакета. Идентификатор пакета« xxx.yyy.zzz »расширения приложения xxx.app/Plugins/xxxExtension.appex должен начинаться с идентификатора пакета приложения« xxx »и не содержать более одной точки. "." после идентификатора пакета приложения.
Это означает, что я должен использовать соглашение об именах "com.example.app.extention"
, согласно которому xcode и центр участников не позволят мне создать правильные идентификаторы.
Я очень расстроен, может ли кто-нибудь помочь. Я нигде не могу найти решение.
ИЗМЕНИТЬ
Похоже, я вообще не мог использовать этот идентификатор.
Также я должен отметить пару предупреждений для всех, у кого есть это сообщение:
1) Вы не можете ничего добавить, пока его расширение не будет включать точку, так как в com.domain.app.extensions.extension тоже не сработает. 2) Конвертер автоматики Swift 2 имеет тенденцию изменять идентификаторы на более стандартные имена и пытаться позволить xcode обрабатывать профили обеспечения. Остерегайтесь этого!
Единственное, что у меня было, - это навсегда изменить имя идентификатора. Я лично использовал com.domain.app.todayextension. Тогда я заставил его работать, но только после установки и добавления правильных профилей подготовки для разработки и распространения через центр участников. Похоже, это ошибка в системе Apple, или, может быть, все мы абсолютно не понимаем, как работают профили обеспечения. Я думаю, что последнее, вероятно, и правда. В любом случае, я надеюсь, что это поможет!