Swift Playground не показывает ошибок
Я начинаю Swift и использую учебники в Swift playgrounds для macOS.
вот пример кода будет
var str = "Hello, playground"
str
str1
Я не получаю никакой красной информации об ошибке на str 1. Просто сбой в консоли
Playground execution failed: error: MyPlayground.playground:1:1:
error: use of unresolved identifier 'str1'
str1
^~~~
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: 0x0000000102157360 com.apple.dt.Xcode.PlaygroundStub-macosx`executePlayground
frame #1: 0x000000010215522a com.apple.dt.Xcode.PlaygroundStub-macosx`-[PlaygroundViewBridgeService execute] + 90
Если я исправлю код, то площадка обновит и покажет новые данные, это просто не сообщает об ошибках
Как остановить Xcode от сбоя и вести себя так, как задокументировано?
Xcode версия 8.3 (8E162) macOS 10.12.4
Я попытался удалить все файлы Xcode (включая те, которые он создает во время сборки) и переустановить и использовать другого пользователя
6 ответов
то, что вы видите-это правильное поведение. Если вы хотите, чтобы" красные метки " были встроены в ваш код, используйте реальный проект. Игровые площадки не показывают все ошибки, и если они показывают их, они показывают их, как вы описали, в консоли, сначала с тем же сообщением вы would получить в "красные метки", а затем с довольно бессмысленным журналом сбоев. (Это не Xcode, который сбой; это специальный процесс выполнения игровой площадки.)
Итак, это то, что вы видите в детская площадка:
Это то, что вы видите приложением проекта:
на самом деле площадка показывает "ошибка красной метки в левой части кода" и есть также автоматическая опция для исправления ошибки, как и обычные проекты.
У меня была та же проблема, что и у вас (красные метки не появлялись слева). Что решил для меня:
- щелкните правой кнопкой мыши ошибку в навигаторе проблем (верхняя левая панель)
- в меню > Открыть как > быстро Посмотри
- затем повторите ту же команду и откройте As > Playground Page
Я на Xcode 8.3.2
Update: то же самое справедливо для Xcode 9.0
в навигаторе проблем щелкните правой кнопкой мыши ошибку - > открыть как быстрый взгляд, затем выберите его обратно, чтобы открыть как площадку. Это работает на меня.
Файл - > Настройки Игровой Площадки
проверьте показать живые проблемы для исходного кода
выберите Показать все проблемы радиальная кнопка
Xcode был, по сути, по состоянию на 3/2017, показывая ошибки inline на игровой площадке, так же, как и в проекте при редактировании файла. Это поведение изменилось в недавнем обновлении, хотя я не вижу его документированным. Я предположил, что это ошибка, введенная с последним патчем, или, возможно, была изменена настройка по умолчанию, которую можно изменить обратно.
Изменить: В факт, я только что открыл игровую площадку, которую я создал pre-patch, и ошибки показывают inline
иногда эта функция работает, чаще всего, это не так. Xcode 8.3.3 был очень багги с этой функцией, и заставил меня избегать использования игровых площадок.
вот экран, когда он работает в Xcode 9 Beta 6:
выход и повторное открытие Xcode, похоже, помогают заставить его работать снова, но инструменты, похоже, путаются довольно легко, поскольку я экспериментирую с кодом.
когда я испорчу код, который вызывает проблемы, игровые площадки остановятся пытаясь перекомпилировать, я получаю устаревший цикл обратной связи и понятия не имею, работает ли код или нет.
... через несколько минут после того, как у меня была игровая площадка, работающая в Xcode 9 Beta 6, она перестала работать. Ошибки перестали отображаться в строке, поэтому я бы рекомендовал подавать больше отчетов об ошибках вhttp://bugreport.apple.com