From e2994b78c49a382db95c3c72f388142d3097c1ef Mon Sep 17 00:00:00 2001 From: Kenta Kubo <601636+kkebo@users.noreply.github.com> Date: Wed, 30 Apr 2025 01:33:04 +0900 Subject: [PATCH] fix: fix errors when running on Swift Playground `NEDNSSettingsManager` APIs are not supported on Swift Playground's App Preview. --- DNSecure/Views/ContentView.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/DNSecure/Views/ContentView.swift b/DNSecure/Views/ContentView.swift index ed4e0d2..07a508d 100644 --- a/DNSecure/Views/ContentView.swift +++ b/DNSecure/Views/ContentView.swift @@ -67,6 +67,11 @@ struct ContentView { private func updateStatus() { #if !targetEnvironment(simulator) + // Early return if running on Swift Playground or Xcode Previews + guard ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] != "1" else { + return + } + let manager = NEDNSSettingsManager.shared() manager.loadFromPreferences { if let err = $0 { @@ -85,6 +90,11 @@ struct ContentView { } #if !targetEnvironment(simulator) + // Early return if running on Swift Playground or Xcode Previews + guard ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] != "1" else { + return + } + let manager = NEDNSSettingsManager.shared() manager.dnsSettings = server.configuration.toDNSSettings() manager.onDemandRules = server.onDemandRules.toNEOnDemandRules() @@ -111,6 +121,11 @@ struct ContentView { self.usedID = nil #if !targetEnvironment(simulator) + // Early return if running on Swift Playground or Xcode Previews + guard ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] != "1" else { + return + } + let manager = NEDNSSettingsManager.shared() guard manager.dnsSettings != nil else { // Already removed