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, который сбой; это специальный процесс выполнения игровой площадки.)

Итак, это то, что вы видите в детская площадка:

enter image description here

Это то, что вы видите приложением проекта:

enter image description here


на самом деле площадка показывает "ошибка красной метки в левой части кода" и есть также автоматическая опция для исправления ошибки, как и обычные проекты.

enter image description here

У меня была та же проблема, что и у вас (красные метки не появлялись слева). Что решил для меня:

  1. щелкните правой кнопкой мыши ошибку в навигаторе проблем (верхняя левая панель)
  2. в меню > Открыть как > быстро Посмотри
  3. затем повторите ту же команду и откройте As > Playground Page

Я на Xcode 8.3.2

Update: то же самое справедливо для Xcode 9.0


в навигаторе проблем щелкните правой кнопкой мыши ошибку - > открыть как быстрый взгляд, затем выберите его обратно, чтобы открыть как площадку. Это работает на меня.


Файл - > Настройки Игровой Площадки
проверьте показать живые проблемы для исходного кода
выберите Показать все проблемы радиальная кнопка

Xcode был, по сути, по состоянию на 3/2017, показывая ошибки inline на игровой площадке, так же, как и в проекте при редактировании файла. Это поведение изменилось в недавнем обновлении, хотя я не вижу его документированным. Я предположил, что это ошибка, введенная с последним патчем, или, возможно, была изменена настройка по умолчанию, которую можно изменить обратно.

Изменить: В факт, я только что открыл игровую площадку, которую я создал pre-patch, и ошибки показывают inline Show example of it working

настройки Settings needed


иногда эта функция работает, чаще всего, это не так. Xcode 8.3.3 был очень багги с этой функцией, и заставил меня избегать использования игровых площадок.

вот экран, когда он работает в Xcode 9 Beta 6: enter image description here

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

когда я испорчу код, который вызывает проблемы, игровые площадки остановятся пытаясь перекомпилировать, я получаю устаревший цикл обратной связи и понятия не имею, работает ли код или нет.

... через несколько минут после того, как у меня была игровая площадка, работающая в Xcode 9 Beta 6, она перестала работать. Ошибки перестали отображаться в строке, поэтому я бы рекомендовал подавать больше отчетов об ошибках вhttp://bugreport.apple.com


удаление производных данных и выход из Xcode работали для меня.