Подтвердить что ты не робот

Выделение синтаксиса Xcode 8 не работает

Приведенный выше код имеет правильную подсветку синтаксиса в Xcode 7. Это сочетание Obj-C + Swift:

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

Я обновил проект для поддержки Xcode 8 и изменилось только несколько вещей:

  • В настройках сборки Swift 2.3 поддержка введите описание изображения здесь

  • И исправлено несколько ошибок, связанных с неявно развернутыми свойствами в UIKit введите описание изображения здесь

После всего проекта скомпилированный тонкий для Xcode 8.

Но код Obj-C, интегрированный в Swift, не имеет подсветки синтаксиса и наоборот:

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

И есть < < ошибка типа → проблема с автозаполнением: введите описание изображения здесь

Удаление исходных данных не помогает, перезапуск Xcode также: CocoaPods версии 0.38.2, iOS 7

4b9b3361

Ответ 1

Fixed. Проблема связана с наличием цели в проекте, которая не скомпилирована. Поэтому, если у вас есть цели, например. A, B, C и C не скомпилированы, это вызывает проблемы с подсветкой синтаксиса.

Ответ 2

Этот ответ помог мне https://forums.developer.apple.com/thread/46223 с одним из моих проектов:

Я получил помощь от инженера-яблока в WWDC по этой проблеме и решил Это. Проблема была связана с кокоаподами... Видимо, кокоаподы были копирование .h файлов в каталог сборки и SourceKit смущенный. Я не совсем уверен, почему файлы .h были скопированы - они там не нужны. Таким образом, исправление заключалось в том, чтобы добавить post-build scriptв разделе фаз сборки, который удаляет заголовки после сборки.
Он будет выглядеть примерно так:

function removeHeaders() {  
    find $BUILD_ROOT/Debug-iphonesimulator/  -name '*.h' -exec rm -f {} \;  
}  
removeHeaders  

Ответ 3

Я обнаружил, что когда подсветка синтаксиса падает, переключение вкладок в Xcode устраняет проблему ¯_ (ツ) _/¯ Иногда мне кажется, что мне нужно переключиться на по крайней мере 4 разных вкладки, прежде чем он снова появится.

В противном случае выйдите и снова откройте

Ответ 4

Это случилось и с Xcode 8 GM, но также с большим количеством времени, когда я использовал Xcode 7: иногда функция автозаполнения и подсветка синтаксиса умирают без предупреждения.

Единственное решение, с которым он работает для меня, - перезапустить Xcode, но несколько раз мне нужно было завершить перезагрузку моего Mac; Я до сих пор не знаю точно, что вызывает эту неприятную проблему.

Ответ 5

Настройка Использовать устаревшую версию языка Swift до ДА в Настройки сборки помогла мне решить аналогичную проблему

Ответ 6

Комментирование, а затем раскол затронутых строк сработало для меня.

Ответ 7

Как уже было сказано выше, если я создаю новую вкладку..или 4, закройте вкладку, которая обычно это делает. Иногда комментирование строки, а затем немедленный раскол делает трюк. Я устал от использования нескольких клавиш, чтобы ускорить это, и сделал простой AppleScript, чтобы сделать это для меня.

Создайте сервис Automator и добавьте к нему этот script. В Системных настройках в разделе "Клавиатура" → "Ярлыки" → "Службы" найдите новую службу и назначьте ее пустой функциональной клавише (я использовал F1), и теперь у вас есть 1 ключевое исправление!

on run {input, parameters}

tell application "Xcode"
    activate
    tell application "System Events" to keystroke "t" using command down
    delay (0.5)
    tell application "System Events" to keystroke "w" using command down
    delay (0.5)
    tell application "System Events" to keystroke "/" using command down
    delay (0.5)
    tell application "System Events" to keystroke "/" using command down
    delay (0.5)
end tell


return input
end run