Не удается запустить модульное тестирование iOS на устройстве - ошибка прав HealthKit - PullRequest
0 голосов
/ 10 сентября 2018

Всякий раз, когда я пытаюсь запустить модульные тесты на устройстве. Кажется, все собирается и устанавливается на устройство, но в диалоговом окне появляется следующее сообщение об ошибке:

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

Юнит-тестирование на симуляторе работает нормально. Однако я бы хотел, чтобы юнит-тесты работали на устройстве, потому что оно будет работать немного быстрее.

Мой проект имеет следующее предупреждение:

Профиль обеспечения «match Development com.example.app» для «Example» содержит права, которых нет в файле прав: com.apple.developer.healthkit.access. Чтобы использовать эти права, добавьте их в свой файл прав. В противном случае удалите неиспользуемые права из своего профиля обеспечения.

Но все остальное работает, я могу запустить цель и опубликовать ее в appstore. Не удается запустить только модульное тестирование на устройстве. Я заглянул внутрь профиля обеспечения разработки и обнаружил, что он содержит ключ com.apple.developer.healthkit.access, которого нет в профиле обеспечения appstore. Но когда я добавляю этот ключ в файл прав, он все равно не запускает модульные тесты.

Я попытался удалить файл разрешений и позволить XCode восстановить его, но это не работает. В моем проекте есть 5 разных целей приложений, каждый со своим собственным модульным тестированием.

Я также пытался восстановить профиль обеспечения разработки, но в нем всегда есть ключ com.apple.developer.healthkit.access.

Я посмотрел в файле проекта, как предложено здесь . Все, что я обнаружил, было то, что все цели приложения использовали один и тот же файл прав. Поэтому я изменил его так, чтобы все приложения использовали свои собственные права, но модульное тестирование по-прежнему не запускается. И com.apple.developer.healthkit.access предупреждение остается там

Есть ли способ заставить юнит-тестирование на устройстве работать с включенным аптечкой? Модульное тестирование на устройстве без HealthKit также будет улучшением, но тогда все остальное также должно работать (распространение и т. Д.)

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Для разработчиков Ionic / Cordova Перейдите в Xcode -> Файл -> Настройки проекта -> Система сборки и выберите «Старая система сборки» Снимок экрана

0 голосов
/ 11 сентября 2018

Убедитесь, что цель теста использует автоматическую подпись, и убедитесь, что она использует ту же команду, что и цель приложения. Также убедитесь, что они используют одинаковые сертификаты.

Предупреждение com.apple.developer.healthkit.access, похоже, не связано

Этот ответ может быть ответом на этот вопрос для проблем, связанных с модульным тестированием на устройстве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...