Xcode 11: Canvas не отображается

Я пытаюсь получить новую функцию Canvas из запущенного Xcode 11, но Canvas не отображается. Что я делаю неправильно?

Я только что создал новый проект по умолчанию (приложение с одним представлением), скомпилировал его и активировал «Редактор> Редактор и холст». Я могу перейти к каждому файлу в проекте, ничего не отображается.

Что еще нужно сделать?


person stk    schedule 03.06.2019    source источник
comment
Вы используете macOS Catalina? twitter.com/twostraws/status/1135649683013947392?s=21   -  person Paulw11    schedule 04.06.2019


Ответы (17)


Вам необходимо использовать версию macOS Catalina (10.15), как указано в официальное руководство

Будьте осторожны: Catalina не поддерживает 32-битные приложения, некоторые старые приложения перестанут работать после обновления.

person Andrei Konstantinov    schedule 03.06.2019
comment
Это должно быть четко указано в Xcode, когда вы пытаетесь переключиться в режим Editor and Canvas. Давайте просто ничего не будем делать и заставим пользователя гуглить, почему он не отображается, подход - ПЛОХОЙ подход. - person Karol Kulesza; 07.06.2019
comment
@KarolKulesza, это правда, даже на портале разработчиков показаны требования для новой iOS: Installation requires macOS 10.15 beta or Xcode 11 beta но даже нет примечания для xcode11 - person zero3nna; 07.06.2019
comment
Теперь говорится, что при открытии файла canvas. - person Teejay; 14.07.2019

вы все еще можете видеть живое изображение (без установленной Catalina) с игровыми площадками. используя UIHostingController.

import UIKit
import SwiftUI
import PlaygroundSupport



struct ContentView : View {
    var body: some View {

        Text("Hello World")
            .foregroundColor(Color.blue)
    }
}

// Present the view controller in the Live View window
PlaygroundPage.current.liveView = UIHostingController.init(rootView: ContentView())

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

person Akash Soni    schedule 05.06.2019
comment
но это не новый холст, это просто просмотр в реальном времени, если вы запустите приложение. вы также можете сделать это с помощью проекта - person zero3nna; 07.06.2019
comment
Это может быть круто, но вопрос не в этом. После прочтения других ответов становится ясно, что Apple просто не разместила бета-версию Xcode 11 на Mojave, но в достаточном количестве мест запускает больше функций, лучше всего отмеченных Catalina. Предварительный просмотр - одна из тех функций, которые мне больше всего нравятся. - person Eddie Eddie Eddie; 07.06.2019


Обновите Mac OS версии 10.15 или более поздней. Обновите Xcode 11 или более позднюю версию. После этого нажмите Editor ›Canvas для предварительного просмотра кода.

Бонус: если вы хотите увидеть предварительный просмотр кода слева, вы можете изменить макет, выбрав Значок меню ›Макет› Холст справа. (Я поделился скриншотом)

Скриншот с дополнительной информацией

person canerkaseler    schedule 16.11.2019

Предварительный просмотр работает только на MacOS 10.15 Beta.

Вам нужно нажать на Editor и Canvas Option в Xcode 11.0-Beta, в качестве альтернативы вы можете нажать на Editor -> Editor и Canvas из верхних опций.

Прикрепленные скриншоты для справки.  Изображение

изображение 2

person CrazyPro007    schedule 07.06.2019

Скопируйте содержимое быстрого файла,


Переместите файл в корзину


Снова создайте быстрый файл


Вставьте и запустите свой код




person C Williams    schedule 13.02.2020
comment
Поразительно, но это единственное, что сработало. Похоже, что каким-то образом файл перестал распознаваться как файл SwiftUI, пока не был создан новый. Никакая перезагрузка и перезапуск Xcode не помогли, даже закрытие / отображение холста и т. Д. Скопируйте содержимое, удалите файл, создайте новый и вставьте. Вуаля. - person strangetimes; 16.04.2020

Я попробовал все эти шаги, но потом понял, что в моем файле нет настроек PreviewProvider. Без этого предварительный просмотр не появится.

Убедитесь, что он настроен следующим образом:

struct YourView_Previews: PreviewProvider {
    static var previews: some View {
        YourView()
    }
}

Затем вы можете последовать советам других ответов в этой ветке, и ваше окно холста должно выскочить.

person Alan Scarpa    schedule 31.03.2021
comment
Ага! После ничего не сработало .... Хороший улов! - person bauerMusic; 06.05.2021

Если вы переместите файл swiftUI в новую папку, холст не появится, и лучшее решение - скопировать весь код в файле, затем удалить файл в корзину, затем создать новый файл и вставить свой код.

Шаги:

  1. скопировать код файла

  2. удалить файл

  3. создать новый файл с тем же именем

  4. вставить код в новый файл

person Ali Aljabri    schedule 05.08.2020
comment
Сделал это на Big Sur 11.1, нет. Еще кое-что. - person Allen King; 20.12.2020

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

Не удалось загрузить подключаемый модуль

Не удалось загрузить подключаемый модуль com.apple.dt.UVKit по пути «/Applications/Xcode-beta.appDownloads/Xcode-beta.app/Contents/PlugIns/UVKit.framework». Подключаемый модуль или один из необходимых подключаемых модулей может отсутствовать или поврежден. Подключаемый модуль или один из необходимых подключаемых модулей может отсутствовать или поврежден, и может потребоваться переустановка.

Решение, похоже, состоит в том, чтобы обновить бета-версию Catalina до того же уровня. Вот ссылка на бета-версию программного обеспечения от Apple.

person turingtested    schedule 05.09.2019

вам необходимо установить macOS версии не ниже (10.15 или выше)

person Yodagama    schedule 24.09.2019

Также убедитесь, что эта функция вызывается в вашем файле SwiftUI (вне фактической структуры View).

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView() // Initialize your struct
    }
}
person Vikesh Prasad    schedule 29.03.2020

Помимо запуска MacOS Catalina [бета], кажется, что вам необходимо установить инструменты командной строки, иначе он выйдет из строя и «приостановит» холст (это произошло с Xcode 11 Beta 2). Для их установки выполните:

xcode-select --install
person Pierz    schedule 28.06.2019

Предварительный просмотр холста работает только после обновления MacOS 10.14 до 10.15.

У нас есть Mac OS Catalina Beta версия (10.15)

Обновите свою систему, и она работает. :)

Проверьте эту ссылку.

person Anuj J    schedule 24.09.2019

Некоторые важные контрольные списки, пожалуйста, проверяйте по очереди. Если все это сделано, вы легко можете получить опцию «Редактор и холст».

  1. Ваша версия MacOS равна или выше 10.15

  2. Вы используете как минимум Xcode 11 Beta или новее. Если у вас есть Xcode 11, но ваша MacOS ниже 10.15, вы не сможете увидеть эту опцию.

  3. Выполните команды из Терминала:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

а потом

sudo xcodebuild -license

  1. Если контрольные списки 1 и 2 выполнены, перейдите к параметру «Настройки» и выберите «Инструменты командной строки». Настройки -> Расположение и назначение инструментов командной строки для Xcode 11 / Beta.

В большинстве случаев проблема заключается в варианте 4.

person Jamshed Alam    schedule 11.10.2019

Разочарованный тем, что Xcode предлагает для SwiftUI canvas (и как он не сообщает вам, что вам нужно перейти на Catalina, чтобы эта функция стала доступной), я решил создать свой собственный инструмент: QDesigner. Это приложение для iPad, в котором вы можете просто перетащить SwiftUI элементы управления на холст iPhone, настроить их несколькими нажатиями и сгенерировать SwiftUI код одним нажатием. Xcode не требуется.

Первая бета-версия QDesigner доступна через TestFlight:
https://testflight.apple.com/join/aSXW5tVp

Существует также сопутствующее приложение QDesigner Client для iPhone, которое можно подключить к QDesigner, запущенному на iPad, чтобы увидеть ваш дизайн пользовательского интерфейса на целевом устройстве, обновленный в реальном времени:
https://testflight.apple.com/join/DQv0DBJU

Надеюсь, это будет полезно по крайней мере для некоторых из вас! Дайте мне знать, что вы думаете, конечно, впереди много работы, чтобы сделать его полностью функциональным, но первая бета-версия уже полезна для базового SwiftUI использования.

Посмотрите демонстрационные видеоролики о QDesigner и узнайте больше, посетив веб-сайт:
https://Q-Mobile.IT/Q-Designer

QDesigner1

QDesigner2

QDesigner3

person Karol Kulesza    schedule 08.03.2020

Для предварительного просмотра и взаимодействия с представлениями на холсте в Xcode убедитесь, что на вашем Mac установлена ​​бета-версия MacOS 10.15.

Инструменты для разработки SwiftUI доступны только при работе в бета-версии macOS 10.15.

https://developer.apple.com/tutorials/swiftui/creating-and-combining-views

person casillas    schedule 22.06.2019

Для людей, которые хотели переместить предварительный просмотр в правую сторону ... Измените Layout (правый угол рабочего пространства, второй последний вариант) на Canvas on Right  изменить положение предварительного просмотра Xcode giridharan

person Giridharan Venkatapathy    schedule 12.04.2021