Создан новый вопрос здесь с более простым примером.
Я столкнулся с некоторым странным поведением в Xcode, в том числе с неправильными значениями переменных и синтаксическими ошибками в старых проектах, которые прекрасно компилировались, когда я их оставлял.
Каков наилучший способ вернуться к чистому Xcode?
Есть ли проблемы с двумя (или более) исполняемыми файлами Xcode в каталоге Applications? Я использую только одну версию за раз ...
Можно ли полностью удалить все файлы данных программы и файлы кэша, как если бы я никогда не устанавливал Xcode?
Если нет, есть ли список кэшей / и т.д., которые можно безопасно удалить?
Вот что я пробовал до сих пор, основываясь на поиске переполнения стека:
- Чистый проект (CMD + OPT + K). Перезапустите Xcode. Перезагрузите Mac
- Загруженный Xcode 9.4.1. Запуск этой версии (не удалил Xcode
10). Может запустить любую версию
- Проверенная версия Swift была установлена на 4.1 (4.2 не было опцией)
- Папка удаленных производных данных. Файл> Настройки проекта .. Кликнул
стрелка вправо рядом с папкой производных данных. Удален конкретный проект
файл. Также попытался удалить всю папку
Вот мой длинный рассказ о горе: я работал над проектом около 6-8 недель, используя Xcode 9.4.1 на High Sierra. Я новичок, поэтому я создал несколько простых приложений «для проверки концепции», чтобы узнать о текстовых представлениях, приписанных строках, веб-представлениях и т. Д. Каждый из этих небольших проектов компилировался и работал нормально.
Я объединил эти функции в одном приложении и добавил библиотеку Cocoa Pod. Опять все собрано нормально. Я отлаживал простые проблемы в коде. В какой-то момент Xcode перестал показывать правильные значения на дисплее переменных для моего кода. Я был сокращен до отладки с помощью операторов print (), которые всегда показывали правильные значения переменных.
Я обновил (?) До Xcode 10, а затем до Mojave, чтобы попытаться разрешить неправильные значения переменных Xcode. Возникли другие проблемы, в том числе известные проблемы сvaluJavaScript. Поэтому я решил вернуться к пре-Мохаве, чтобы вернуться в рабочее состояние. Я использовал Time Machine, чтобы вернуться к Xcode 10 под High Sierra.
Теперь мои проекты дают ошибки компиляции. Даже мои простые доказательства концепции приложений имеют ошибки компиляции. Поэтому я пытался вернуться к скомпилированному коду.
Что еще мне следует попытаться определить, что изменилось?
Вот специальный строковый код, который генерирует синтаксические ошибки:
let titleAttributes = [NSAttributedString.Key.font: NSFont.boldSystemFont(ofSize: 22)]
выдает ошибку:
Type 'NSAttributedString' has no member 'Key'
Я также получаю сообщение об ошибке:
performSegue(withIdentifier: "showSecondVC", sender: self)
выдает ошибку
Cannot convert value of type 'String' to expected argument type 'NSStoryboardSegue.Identifier'
Извинения за длинный пост. В Unix легко вернуть учетную запись пользователя или приложение в известное начальное состояние. В Mac OS X все намного сложнее ...
Спасибо за любые предложения!