я решил поддержать и WatchOS 1 и 2. WatchOS Первоначально узелок идентификаторы для часовых целей создаются следующим образом:IOS WatchKit - Противоречивые требования App ID для WatchKit расширения во время приложения загрузить
WatchKit App: com.company.myapp.watchkitapp
WatchKit Расширение: com.company.myapp.watchkitextension
с помощью этой установки, сборки выдает следующее сообщение об ошибке:
Поэтому я изменил идентификаторы расслоения на следующий формат, так что внутренний абонент расслоение ID с префиксом watchkit приложения расслоения ID:
WatchKit App: com.company.myapp.watchkitapp
WatchKit Extension: com.company.myapp.watchkitapp.watchkitextension
сборка прошла успешно. Затем я пытаюсь загрузить сборку в Testflight в рамках подготовки к выпуску, но в процессе загрузки я получил следующее сообщение об ошибке:
Ошибка сообщения ясно: у меня есть два периода после расслоения ID приложения.
Это очень смущает меня. Как возможно, что идентификатор пакета моего расширения должен иметь префикс с идентификатором пакета приложения watchkit и содержать только один период после идентификатора пакета родительского приложения? Префикс уже использовал тот один период. Как я могу удовлетворить эти два противоречивых требования одновременно?
Вещи, которые я уже пытались, но не работает:
Начиная с нуля, создавая совершенно новое приложение идентификаторами и профили обеспечения; Удаление всех старых профилей подготовки из локальной, повторной загрузки, а затем установка правильных кодовых подписей и профилей подготовки в целевых настройках сборки в Xcode.
Изменение имени идентификатора приложения в соответствии с форматом «XC com company myapp», в Центре-члене.
Выход & перезапуск & чистый & восстановление.
Я уже сделал эти шаги; приложение всегда создавало и работало нормально в профилях профилей и профилей Dev, если я использую идентификатор пакета com.pany.myapp.watchkitapp.watchkitextension для расширения watchkit, но представление не будет выполнено с ошибкой «идентификатор пакета не может содержать более одного периода после приложения id ". Если я использую «com.company.myapp.watchkitextension», тогда сборка завершится с ошибкой. «Идентификатор встроенного пакета не имеет префикса с идентификатором пакета родительского приложения». Я точно знаю, как работает резервное копирование ... Короткий вопрос - это просто «Каков должен быть идентификатор пакета для расширения сторожевого таймера» – SeaJelly
yourmobileappBundleId.watchkitextension, поэтому, если идентификатор мобильного приложения yr является «com.company.myapp», тогда ваш идентификатор расширения для часового пояса должно быть похоже на «com.company.myapp.watchkitextension» –
Это даст мне первую ошибку, упомянутую в сообщении; то есть идентификатор пакета WatchKit App должен быть префиксом идентификатора пакета расширения приложения WatchKit. Так что «com.company.myapp.watchkitextension» дает ошибку, но «com.company.myapp.watchkitapp.watchkitextension» в порядке. – SeaJelly