2016-07-08 2 views
-1

я решил поддержать и WatchOS 1 и 2. WatchOS Первоначально узелок идентификаторы для часовых целей создаются следующим образом:IOS WatchKit - Противоречивые требования App ID для WatchKit расширения во время приложения загрузить

WatchKit App: com.company.myapp.watchkitapp

WatchKit Расширение: com.company.myapp.watchkitextension

с помощью этой установки, сборки выдает следующее сообщение об ошибке: enter image description here

Поэтому я изменил идентификаторы расслоения на следующий формат, так что внутренний абонент расслоение ID с префиксом watchkit приложения расслоения ID:

WatchKit App: com.company.myapp.watchkitapp

WatchKit Extension: com.company.myapp.watchkitapp.watchkitextension

сборка прошла успешно. Затем я пытаюсь загрузить сборку в Testflight в рамках подготовки к выпуску, но в процессе загрузки я получил следующее сообщение об ошибке: enter image description here

Ошибка сообщения ясно: у меня есть два периода после расслоения ID приложения.

Это очень смущает меня. Как возможно, что идентификатор пакета моего расширения должен иметь префикс с идентификатором пакета приложения watchkit и содержать только один период после идентификатора пакета родительского приложения? Префикс уже использовал тот один период. Как я могу удовлетворить эти два противоречивых требования одновременно?

Вещи, которые я уже пытались, но не работает:

  1. Начиная с нуля, создавая совершенно новое приложение идентификаторами и профили обеспечения; Удаление всех старых профилей подготовки из локальной, повторной загрузки, а затем установка правильных кодовых подписей и профилей подготовки в целевых настройках сборки в Xcode.

  2. Изменение имени идентификатора приложения в соответствии с форматом «XC com company myapp», в Центре-члене.

  3. Выход & перезапуск & чистый & восстановление.

ответ

0

открытие Xcode Preferences ( + ,), идущие к Accounts → Посмотреть детали. Затем выберите все профили обеспечения и удалите их с помощью backspace (обратите внимание: они не могут быть удалены в Xcode 7.x). Перезапустите Xcode, иначе список, похоже, не обновляется должным образом.

Теперь нажмите кнопку «Загрузить все», и у вас должны быть все профили обеспечения, которые вы определили в Центре членов обратно в Xcode. Не беспокойтесь о генерируемых Xcode (с префиксом XC :), Xcode при необходимости восстановит их. Перезагрузите Xcode снова.

Теперь перейдите в раздел «Подписание кода» в настройках сборки и выберите правильный профиль и сертификат.

for more

+0

Я уже сделал эти шаги; приложение всегда создавало и работало нормально в профилях профилей и профилей Dev, если я использую идентификатор пакета com.pany.myapp.watchkitapp.watchkitextension для расширения watchkit, но представление не будет выполнено с ошибкой «идентификатор пакета не может содержать более одного периода после приложения id ". Если я использую «com.company.myapp.watchkitextension», тогда сборка завершится с ошибкой. «Идентификатор встроенного пакета не имеет префикса с идентификатором пакета родительского приложения». Я точно знаю, как работает резервное копирование ... Короткий вопрос - это просто «Каков должен быть идентификатор пакета для расширения сторожевого таймера» – SeaJelly

+0

yourmobileappBundleId.watchkitextension, поэтому, если идентификатор мобильного приложения yr является «com.company.myapp», тогда ваш идентификатор расширения для часового пояса должно быть похоже на «com.company.myapp.watchkitextension» –

+0

Это даст мне первую ошибку, упомянутую в сообщении; то есть идентификатор пакета WatchKit App должен быть префиксом идентификатора пакета расширения приложения WatchKit. Так что «com.company.myapp.watchkitextension» дает ошибку, но «com.company.myapp.watchkitapp.watchkitextension» в порядке. – SeaJelly

Смежные вопросы