Как исправить отладчик Xcode 10.0, он работает не полностью?

После обновления до Xcode 10.0 отладчик не выполняет основные функции. Возможно, проблемы с отладчиком не связаны с обновлением до 10.0, но я подозреваю, что это стало катализатором.

Симптомы:

  • Точки останова исправны
  • В области «локальные переменные» (не уверен, что это правильный термин) перечислены локальные переменные, но нет никакой информации о них. Попытка что-то вроде «Распечатать описание x». Результатом является сообщение об ошибке:
Printing description of x
x = <could not resolve type>

С последующим:

note: Swift compiler options for ProjectX conflict with options 
found in other modules;
 Switching to a new expression evaluator for ProjectX, old $R 
variables are lost.
  • при выборе «просмотра памяти x» для любой заданной переменной появляется «просмотр памяти», но адрес «0x0», и в представлении абсолютно нулевое содержимое.

  • #P4# <блочная цитата>
    error: Swift expressions require OS X 10.10 / iOS 8 SDKs or later.
    

Да, у меня OS X 10.13, а мой iOS SDK 12.0, и я моделировал различные устройства iPad 6, pro 2, air 2, iPhone X, отладчик имеет одинаковые симптомы на всех устройствах.

Попытки исправления:

  • Я попытался повторно клонировать свой репозиторий в новом месте, чтобы импортировать новую рабочую область в новое место.
  • Удалил DerivedData и перезагрузил Xcode много раз
  • Удалил и переустановил Xcode
  • Все почистил и заново собрал
  • Перезагрузил компьютер

person David    schedule 09.10.2018    source источник
comment
Если вы используете какие-либо модули от CocoaPods или Carthage, убедитесь, что вы не получаете бинарные пакеты, а пересобираете их из исходного кода.   -  person Jim Ingham    schedule 10.10.2018
comment
@JimIngham, не могли бы вы уточнить, как мы можем определить, какой подход использует CocoaPods и как его изменить ??   -  person Dewey    schedule 16.12.2018
comment
iOS, macOS, tvOS или watchOS?   -  person Ky Leggiero    schedule 07.01.2019


Ответы (4)


Я обновил свою версию Cocoapod до 1.6.0.beta.2, и теперь мой отладчик работает. Похоже, CommonCrypto является причиной проблемы

person chlkdst    schedule 21.10.2018

Исправлено

В случае с моим проектом это было вызвано включением оболочки CommonCrypto, которая была включена как framework в одном из моих модулей. Насколько я понимаю, это вызвало некоторый конфликт с крипто-модулями, которые теперь включены в iOS.

Это долгоживущий проект, и эта среда CommonCrypto теперь устарела для нас из-за возможностей, предоставляемых более поздними платформами Apple. С удалением инфраструктуры CommonCrypto отладка снова заработала.

person David    schedule 12.10.2018

Я использовал Carthage и имел те же проблемы. Обновление моих зависимостей с помощью этой команды решило проблему для меня:

carthage update --platform iOS --no-use-binaries
person chriswillow    schedule 12.10.2018

В моем случае я удалил Fabric, Crashlytics, Firebase/Core из Cocoapod, и все в порядке.

Xкод 10.0

стручок «Ткань», «~> 1.9.0»

модуль «Crashlytics», «~> 3.12.0»

модуль «Firebase/ядро»

person Jerome    schedule 16.01.2019