Не могу запустить мое приложение в инструментах: не удалось запустить хотя бы одну цель

98

У меня все права на подпись кода установлены правильно. Запустить приложение на моем телефоне можно, но запуск в инструментах дает мне сообщение об ошибке:

Error Starting Recording
At least one target failed to launch; aborting run

А потом:

Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (i.e. iOS Developer)

Есть идеи, как я могу остановить это? На моем iPad этого не происходит.

Андрей
источник

Ответы:

217

Измените схему для своей цели и в разделе «Профиль [имя приложения]» установите для конфигурации сборки значение «Отладка» (обычно по умолчанию это Release).

Гарривинн
источник
6
+1, спасибо, мне это помогло. Я бы добавил, что мне пришлось построить проект после настройки конфигурации на Debug, иначе инструменты все равно не играли бы в мяч.
Роберт
4
Хотя я знаю, что это «изменение конфигурации на отладку» неверно, у меня нет решения этой проблемы. Вообще говоря, гораздо менее полезно / часто профилировать отладочную сборку.
user501138
1
Это потому, что Release часто использует производственный сертификат.
Евгений Александров
Я убедился, что схема профиля использует конфигурацию отладки (профиль разработчика), и я все еще сталкиваюсь с этой проблемой. Это сертификат корпоративного разработчика, хотя я не ожидал, что это будет иметь значение. Есть предположения?
Броуди Робертсон
3
Я столкнулся с той же проблемой. Профилирование вашего приложения с помощью конфигурации отладки не является допустимым тестом производительности, поскольку компилятор не оптимизировал код, как это делается для Adhoc. Кто-нибудь разобрался с проблемой AdHoc?
Фергал Руни
34

В нем говорится, что вам нужно подписать приложение сертификатом разработчика (а не сертификатом распространения ).

В Xcode 5 просто измените "Provisioning Profile"поле для вашей "Release"сборки в настройках сборки на свой сертификат разработчика вместо сертификата распространения. Во всяком случае, на время тестирования. Xcode не позволяет создавать с сертификатом распространения.

Убедитесь, что настройки сборки проекта не переопределяют настройки целевой сборки и не вносят изменения в настройки сборки вашего проекта .

Не забудьте восстановить профиль после завершения тестирования.

Я не рекомендую метод harrywynn, так как лучше профилировать сборку релиза, потому что тогда вы учитываете оптимизацию компилятора и получаете точный опыт, который будут иметь ваши пользователи.

Золтан Маток
источник
1
Во-первых, ему нужен профиль разработки, значит, он должен находиться в режиме отладки. Во-вторых, если Apple не изменит его на профиль распространения, разработчики, вероятно, будут использовать сборки для разработки. В-третьих, вы профилируете, это должна быть разработка (отладка). В-четвертых, зачем вам использовать профиль разработки для схемы выпуска?
Анджело
4
«Во-первых, ему нужен профиль разработки, значит, он должен находиться в режиме отладки». Вы можете запускать любую конфигурацию с любым профилем. «В-третьих, вы профилируете, это должна быть сборка разработки (отладка)». Вы должны профилировать сборку выпуска, чтобы учесть оптимизацию компилятора. Вы можете получить другие результаты. «В-четвертых, зачем вам использовать профиль разработки для схемы выпуска?» Потому что это самое простое решение этой проблемы. И вы должны изменить профиль обратно, когда будете готовы к тестированию, как я написал в своем ответе.
Золтан Маток
9

Чтобы добавить к предыдущим ответам.

  • Instruments жалуется на личность подписи .
  • Я считаю, что профилирование в режиме выпуска предпочтительнее по тем же причинам, что и Золтен. (примите во внимание оптимизацию компилятора и получите точный опыт ваших пользователей и т. д.)
  • Чтобы изменить идентификатор подписи кода для Xcode 6 :
    • Нажмите на свой проект, выберите цель, которую вы профилируете.
    • Настройки сборки -> Подписание кода -> Идентификация подписи кода -> Выпуск
    • Выберите свой профиль разработчика iOS.
  • Профиль обеспечения: позвольте Xcode выбрать для вас правильный профиль обеспечения, например: переключитесь на автоматический
  • Когда вы закончите с профилем, вернитесь к обычным настройкам .

Вот картинка для тех, кто очень нагляден;)

введите описание изображения здесь

дорнада
источник
1

У меня возникла та же проблема: [INST STDERR] Ошибка трассировки инструментов: не удалось запустить цель: отказано в разрешении на отладку. Приложение должно быть подписано с удостоверением разработчика (например, iOS Developer).

Решение: 1. Я заархивировал приложение с профилем разработчика отладки в xcode для устройства. 2. Перейдите в Window -> Organizer ->, чтобы увидеть весь список архивов. 3. Теперь выберите архив, который нужно экспортировать, и откройте его в поисковике. 4. Щелкните правой кнопкой мыши и покажите содержимое пакета. 5. Перейдите в папку Products / Applications. Вы увидите файл .app.

Используйте это вместо ipa.

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

Как только это будет на месте. Также убедитесь, что вы получили ios-webkit-debug-proxy по ссылке ниже:

https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/ios-webkit-debug-proxy.md

Кроме того, включите инструменты разработчика в настройках устройства. Кроме того, убедитесь, что веб-инспектор сафари (сафари -> Разработка) -> Инспектор включен. Надеюсь, это поможет :-)

ПРИМЕЧАНИЕ. Если вы хотите, чтобы appium установил приложение на устройство за вас, не указывайте идентификатор пакета.

Swathy Valluri
источник
Файл приложения находится в разделе «Продукты» -> «Приложения» в разделе «Содержимое пакета»
swathy valluri
0

Я решил эту проблему на своей машине, выполнив следующие действия:

  • Создайте новый профиль обеспечения разработчика с вашим устройством в списке или, по крайней мере, убедитесь, что ваш компьютер находится в списке устройств профиля.
  • В настройках проекта -> Подписание кода -> Профиль обеспечения -> Отладка: установите вновь созданный профиль.
  • В настройках Targets -> Code Signing -> Provisioning Profile -> Debug AND Release: Установите вновь созданный профиль.

Надеюсь, это поможет.

Себ
источник
0

Я понял, что значит «хотя бы одна цель не запустилась». Похоже, что обе схемы разработки и выпуска (если у вас есть схема отладки и схема выпуска) должны иметь идентификатор разработки.

При запуске профилировщика у меня была выбрана схема отладки, и в верхней части XCode появилось сообщение «Выполняется отладка». Однако, похоже, этого недостаточно.

Я изменил удостоверение подписи кода схемы выпуска, чтобы оно совпадало со схемой отладки (а также профилем обеспечения), и проблема исчезла.

Мэтт
источник
0

Это работает ... когда я изменил схему своего профиля на режим отладки, а также убедился, что в конфигурациях сборки есть сертификат разработчика. Спасибо

ck8414
источник
0

Ни одно из других решений здесь не устранило мою проблему, но я определил, что это проблема только для меня на симуляторе. Девайс работает нормально. Возможно, проблема в симуляторе.

Джон Бушнелл
источник
0

Я столкнулся с этой проблемой с Xcode 9.1 как для симуляторов, так и для устройств, и моя рабочая схема уже была настроена как профилирование с помощью «Отладка». Наконец, нашел это обсуждение на форуме Apple очень полезным, и проблема была решена. Короче говоря, решение, которое сработало для меня ... Перезагрузите Mac.

CodeBrew
источник