Не могу запустить приложение iOS на симуляторе в Xcode 10.2 - PullRequest
5 голосов
/ 23 апреля 2019

В Xcode 10.2 я больше не могу запускать свое приложение на симуляторе с включенным дезинфицирующим средством. Я получаю ошибку

В настоящее время это приложение не может быть установлено.

Приложение WatchKit v3 запретило использование ключа Info.plist: NSBuiltWithThreadSanitizer

Мое приложение включает в себя приложение для часов и множество фреймворков (некоторые для часов, некоторые для iOS), но я получаю эту ошибку при попытке запустить мое приложение main на симуляторе. Я проверил свои plist-файлы и подтвердил, что это не тот ключ, который я указывал нигде.

Когда я проверяю файлы plist в DerivedData, я вижу, что этот ключ действительно есть во всех списках plist для моих каркасов OS для часов. Но единственный способ найти этот флажок - полностью отключить средство очистки потока . Как отключить его только для часов, а не для моего основного приложения?

Ответы [ 3 ]

1 голос
/ 06 июня 2019

В зависимости от того, какой у вас сценарий использования, другой обходной путь - временно удалить цель наблюдения из основного приложения: Запретить развертывание (отключить) приложение WatchKit с приложением iOS для iPhone в Xcode (удалить из настроек файла проекта) , Фаза сборки -> Целевые зависимости и Фаза сборки -> Вставить содержимое просмотра)

Вы можете быстро восстановить это с контролем версий после сеанса отладки.

0 голосов
/ 05 июня 2019

В бета-версии Xcode 11, работающей на Mac OS Catalina, эта проблема, похоже, исчезла. Это указывает на то, что это ошибка на стороне Apple, поэтому, надеюсь, мы увидим обновление Xcode 10 с исправлением.

0 голосов
/ 17 мая 2019

Вот обходной путь: нажмите «Редактировать схему ...» (в верхней части XCode; нажмите на значок вашего приложения), затем откройте вкладку «Диагностика» и отключите «Thread Sanitizer».

...