Отладка реальных часов Apple: проверка приложения не выполнена
Я попытался отладить мое приложение WatchKit на настоящем Apple Watch сегодня. После нажатия кнопки "Отладка" в Xcode основное приложение для iPhone было установлено правильно, но Apple Watch отобразило сообщение Не удалось установить xxx, ошибка: проверка приложения не удалось.. Приложение WatchKit не устанавливает.
Я знал об этом: WatchKit App отклонено для "Failed to Install "" , но это не помогло, потому что мой файл проекта Xcode в порядке.
Как сделать отладочную работу на реальном Apple Watch?
Ответы
Ответ 1
Оказывается, вам также нужно добавить UDID в Apple Watch на Портал разработчиков Apple и обновить профиль обеспечения разработки, включив этот UDID.
UDID можно получить в окне Устройства Xcode. После спаривания информация о Apple Watch автоматически отобразится ниже информации вашего iPhone.
На момент написания этого документа это нигде не документировано, и сообщение об ошибке в Apple Watch не было особенно полезно. Поэтому я желаю, чтобы этот урок try-and-error сэкономил вам немного хлопот.
Ответ 2
Проблема с UDID, как описано выше, может быть виновником, но в моем случае это было обработано автоматически с помощью Xcode. Просмотр журнала устройства (меню "Окно" > "Устройства" ) показал:
companionappd [350]: не удалось установить приложение WatchKit, ошибка: (Error Domain = LaunchServicesError Code = 0 "Операция не может быть завершено. (Ошибка запуска LaunchServicesError 0.)" UserInfo = 0x14e2f690 {Ошибка = ApplicationVerificationFailed, ErrorDetail = -402620394, ErrorDescription = Не удалось проверить подпись кода: 0xe8008016 (Найденные права, которые не разрешены профилем подготовки)})
... проблема, которая не попала в процесс сборки и не была явно передана мне в экранных ошибках.
Итак, я посмотрел права:
![enter image description here]()
Да, мне пришлось вручную добавить этот beta-reports-active
для отправки в TestFlight.
Кажется, вам нужен флаг, если вы используете TestFlight (и все, кроме прав по умолчанию), но вам нужно не иметь флаг, если вы отлаживаете локально.
Мое решение этого противоречия состоит в том, что имеет два файла прав, например:
![enter image description here]()
До сих пор так хорошо. Расширение App и Watch работает как ожидалось.
Ответ 3
В основном вам нужно выполнить два шага:
- Добавьте UDID ваших часов яблока в портал разработчика
- Обновите профиль обеспечения для поддержки часов
XCode может управлять всем процессом для вас:
1. Разверните приложение на свой iPhone/iPad
![enter image description here]()
2. Запустите приложение WatchKit также на вашем iPhone/iPad (не в симуляторе)
![enter image description here]()
3. Выберите Fix Issue, когда появится сообщение об ошибке подписи кода
![enter image description here]()
4. Выберите свою команду разработчиков и пусть XCode сделает остальные
Я также написал для этого короткий учебник.
Ответ 4
Не забудьте прокрутить вниз на дисплее "Устройства" в Xcode. Xcode → Window → Devices → Выберите "NameOfiPhone", затем в окне "Информация об устройстве" вправо прокрутите вниз. Затем вы увидите сопряженное устройство. Да, я допускаю следующее: -)
Ответ 5
У вас должен быть AppID для каждого.
Например, если ваш идентификатор пакета приложений "com.xyz", вам понадобятся три приложения и профили обеспечения, называемые
- com.xyz
- com.xyz.watchkitapp
- com.xyz.watchkitapp.watchkitextension
Создайте ресурсы для каждого и назначьте соответствующие цели.
Это решит проблему. Убедитесь, что ваш UUID для iphone и watch должны быть добавлены в эти профили.
Также версия для всех целей должна быть одинаковой.