如何判断 SwiftUI Previews 环境以条件运行相关代码

最近在写 macOS 产品,不知道从什么时候开始,在 Xcode 里进行 SwiftUI Previews 时会把 App 也跑起来,导致总是打断我写 SwiftUI 代码。从 Xcode 的视角就是,它执行 SwiftUI Previews 的过程中,把 AppDelegate 给完整地跑了一遍。

我去测试了之前用过 SwiftUI 的两个项目,发现也是这样。但是我新建的干净 Xcode 项目,无论是 AppDelegate 的 Life Cycle 模式还是 SwiftUI 的 Life Cyle,却没有这样的问题。

在我找到真实的原因之前,我用了一招 Workaround 解决了这个问题,那就是利用环境变量XCODE_RUNNING_FOR_PREVIEWS 来判断是不是 Xcode Previews 的环境,如果是,直接 return 掉。如下:

Xcode SwiftUI Previews Env.png

这样以后 App 再也不会运行了,也不会影响其他的调试。

释放剪贴板潜力,效率更上一层楼

PasteNow

PasteNow 是一款剪贴板管理工具,它将使你的日常工作更轻松和快捷。你可以通过它存储各种各样的临时数据:文本、链接、图像等等。

No Comment

Leave a Comment