SwiftUI:自动预览更新一直暂停


12

我有一个现有的应用程序,基本上是一个购物清单应用程序,我正在尝试向其中添加一些甜美的SwiftUI。

我的问题是实时预览更新无法正常工作-不断显示“自动预览更新已暂停”警告。我点击了恢复按钮,它构建了应用程序,显示了当前视图,并且该警告立即再次显示。如果不使用“恢复”按钮,我将永远看不到对画布中反映的代码所做的更改。

这是在Xcode 11.1和11.2 beta 2中发生的。我在SO上几乎找不到其他提及,Apple的Dev论坛上有一个线程没有答案。


我注意到实时预览对我来说也经常暂停...我唯一可以更改但不能暂停的事情是非常小的事情,例如调整文本视图中显示的文本...也要进行类似的小的更改使它为您暂停吗?
奎因,

@Quinn-是的,在我进行更改之前,将显示警告和恢复按钮。它们甚至在简历构建完成和预览显示之前就显示出来。不使用简历,我根本无法进行任何可见的更改。
Brian M

Answers:


6

如果在构建阶段中具有自定义运行脚本阶段,并且您不想(或无法)删除它们,则尝试选中“仅在安装时运行脚本”复选框。

在此处输入图片说明


这就是我的原因所在-我有一个脚本可以自动增加内部版本号。不错的收获。谢谢。
raffjones

好的答案-这比Apple支持人员告诉我的做得更好,因为这可以使功能保持完整。我已将接受的答案移至您的答案:)
Brian M

8

我最终向苹果发送了反馈,然后他们做出了修复。我的目标中有一个构建脚本,该脚本会自动增加构建号。如果删除该脚本,则预览将按预期进行。

因此,如果遇到此问题,请在“目标”->“构建阶段”->“运行脚本”中删除所有内容,然后重试。画布预览应按预期更新。


1
我没有任何构建脚本,但是我仍然在Xcode 11.2.1中遇到此问题。
Isuru

一样。我正在运行Xcode 11.3,突然之间就开始发生这种情况,删除脚本阶段并不能解决问题。
Pacu

1
与在10.15.2上运行的Xcode 11.3.1(没有脚本)存在相同的问题。如果单击“恢复”,则画布窗格将消失,并且在重新打开画布时会再次显示警告。去年,在遇到太多错误之后,我放弃了Beta中的SwiftUI,回到原来的状态,以为现在肯定可以使用,但是没有。这些工具完全是垃圾,根本无法使用。即使创建了一个全新的干净的Swift UI项目,它也立即被打破了。我希望Apple能够修复这些可怕的错误,因为SwiftUI前景广阔,但在开发人员的口中却会留下不好的味道。也许Xcode 12 + 10.6。
Ben Stahl

感谢您的提示,这有所帮助。但是请注意,这可能会影响应用程序中包含的每个目标中的每个运行脚本,例如应用程序扩展和监视应用程序。
Koraktor

谢谢,我遇到了这个问题,但这是一个在嵌入式框架中运行的版本脚本,该脚本随后会暂停预览。我走在一条完全错误的轨道上,认为这与Core Data和预览有关。
dlemex

3

对我来说,当我使用旧版构建系统时,Canvas无法正常工作。

您可以通过更改它,

文件->工作区设置->构建系统->选择“新建构建系统(默认)。

如它所说,它是默认选项。如果出于任何原因选择了旧版构建系统,则Canvas将无法正常工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.