Не удается запустить модульное тестирование ios на устройстве - ошибка прав healthkit

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

The executable was signed with invalid entitlements. The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).

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

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

Provisioning profile "match Development com.example.app" for "Example" contains entitlements that aren't in the entitlements file: com.apple.developer.healthkit.access. To use these entitlements, add them to your entitlements file. Otherwise, remove unused entitlements from your provisioning profile.

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

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

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

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

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

1
0
651
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

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

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

Другие вопросы по теме