未显示SwiftUI预览的Xcode画布

ybzsozfc  于 2022-09-19  发布在  Swift
关注(0)|答案(18)|浏览(840)

我正在尝试运行Xcode11的新画布功能,但画布不显示。我做错了什么?

这一新的Xcode功能应该可以在不运行应用程序的情况下显示我的SwiftUI视图的实时预览。
当您使用SwiftUI创建自定义视图时,Xcode可以显示视图内容的预览,当您更改视图的代码时,该预览将保持最新。您定义了一个符合PreviewProvider协议的结构来告诉Xcode要显示什么。Xcode在代码旁边的画布中显示预览。

https://developer.apple.com/documentation/swiftui/previews-in-xcode

我刚刚创建了一个新的默认项目(单视图应用程序),编译了它,并激活了‘编辑器>编辑器和画布’。我可以导航到项目中的每个文件,但没有显示任何内容。

还需要做些什么?

bd1hkmkf

bd1hkmkf1#

如果您将Xcode升级到更高的测试版,并在此过程中收到以下错误消息,则可能会出现这种情况:

加载插件失败

无法加载路径“/Applications/Xcode-beta.appDownloads/Xcode-beta.app/Contents/PlugIns/UVKit.framework”处的插件“com.apple.dt.UVKit”。该插件或其必备插件之一可能丢失或损坏。该插件或其必备插件之一可能丢失或损坏,可能需要重新安装。

解决方案似乎是将Catalina测试版升级到同样的水平。以下是苹果Beta Software Downloads的链接。

mw3dktmi

mw3dktmi2#

遇到了同样的问题,一切都是最新的。通过关闭所有目标的代码覆盖率使其正常工作:)

mwyxok5s

mwyxok5s3#

对于想要将预览移到右侧的人来说...将布局(工作区右角倒数第二个选项)更改为“Canvas on Right”

a9wyjsp7

a9wyjsp74#

要在Xcode中预览画布中的视图并与之交互,请确保您的Mac正在运行MacOS 10.15测试版

只有在MacOS 10.15测试版上运行时,SwiftUI开发工具才可用。
https://developer.apple.com/tutorials/swiftui/creating-and-combining-views

rm5edbpk

rm5edbpk5#

对Xcode为SwiftUI画布提供的功能感到失望(以及它如何*没有告诉您您需要升级到Catalina才能使用此功能),我决定创建我自己的工具:QDesigner。这是一款iPad应用程序,你可以简单地在iPhone画布上拖放SwiftUI控件,只需点击几下就可以定制它们,只需点击一下就可以生成SwiftUI代码。无需Xcode

QDesigner第一个测试版通过TestFlight提供:

https://testflight.apple.com/join/aSXW5tVp

还有一款适用于iPhone的配套QDesigner Client应用程序,可以与iPad上运行的QDesigner连接,在目标设备上查看您的UI设计,并实时更新:
https://testflight.apple.com/join/DQv0DBJU

我希望它至少能对你们中的一些人有所帮助!让我知道你的想法,当然还有大量的工作要做,以使其完全功能,但第一个测试版已经是有益的基本SwiftUI使用。

观看QDesigner的演示视频并访问网站了解更多信息:
https://Q-Mobile.IT/Q-Designer

6xfqseft

6xfqseft6#

一些重要的清单,请逐一核对。如果所有这些都完成了,你可以很容易地得到“编辑和画布”选项。

1.您的MacOS版本等于或高于10.15
1.您使用的是Xcode 11测试版或更高版本。如果你有Xcode11,但你的MacOS低于10.15,你将看不到这个选项。
1.从终端运行命令:
Sudo Xcode-选择-s/Applications/Xcode.app/Contents/Developer

然后

SUDO xcodeBuild-许可证

1.如果已完成检查列表1和2,请转至首选项选项并选择命令行工具。首选项->位置并将命令行工具分配给Xcode11/Beta。

在大多数情况下,选项4是问题所在。

ygya80vv

ygya80vv7#

仅在将MacOS 10.14更新到10.15后才能进行画布预览

我们有Mac OS Catalina Beta版(10.15)

升级您的系统,它就能正常工作。:)

Check this link

xesrikrc

xesrikrc8#

除了运行MacOS Catalina[测试版],你似乎还需要安装命令行工具,否则它会失败并‘暂停’画布(Xcode11Beta 2就是这种情况)。要安装它们,请运行以下命令:

  1. xcode-select --install
qfe3c7zg

qfe3c7zg9#

您必须安装MacOS至少版本(10.15或以上)

mdfafbf1

mdfafbf110#

您需要安装CatalinaMacOS版本(10.15),如official tutorial所述

请注意:Catalina不支持32位应用程序,一些旧应用程序在更新后将停止工作。

p3rjfoxz

p3rjfoxz11#

如果您将wiftUI文件移动到新文件夹中,画布将不会出现,最好的解决方案是复制文件中的所有代码,然后删除垃圾桶中的文件,然后创建一个新文件并跳过您的代码

步骤:

1.复制档案编码
1.删除文件
1.创建同名的新文件
1.将代码传递到新文件

crcmnpdw

crcmnpdw12#

此外,请确保在您的SwiftUI文件中(在实际的View结构之外)调用了该函数。

  1. struct ContentView_Previews: PreviewProvider {
  2. static var previews: some View {
  3. ContentView() // Initialize your struct
  4. }
  5. }
zlwx9yxi

zlwx9yxi13#

1.复制雨燕文件的内容
1.将文件移至垃圾桶
1.重新创建快速文件
1.粘贴并运行代码

a8jjtwal

a8jjtwal14#

该预览仅适用于MacOS 10.15 Beta

你需要点击Xcode11.0-Beta中的编辑和画布选项,或者你也可以点击顶部选项中的编辑->编辑和画布

附加屏幕截图以供参考。

alen0pnh

alen0pnh15#

我尝试了所有这些步骤,但后来意识到我的文件中没有设置PreviewProvider。如果没有此选项,预览将不会显示。

确保将其设置为这样:

  1. struct YourView_Previews: PreviewProvider {
  2. static var previews: some View {
  3. YourView()
  4. }
  5. }

然后你可以按照这个帖子中其他答案的建议,你的画布窗口应该会弹出来。

相关问题