]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
TunnelsManager: Return a manager with no tunnels in the simulator
authorRoopesh Chander <roop@roopc.net>
Wed, 7 Nov 2018 12:43:50 +0000 (18:13 +0530)
committerRoopesh Chander <roop@roopc.net>
Wed, 7 Nov 2018 12:45:20 +0000 (18:15 +0530)
To be able to run at least parts of the app in the simulator.

Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/VPN/TunnelsManager.swift

index d0fe33783641a16e71f87c2d0dd8ecbc31791def..3b72100b859ef4c1dc21cf03f77358259610eae0 100644 (file)
@@ -42,6 +42,10 @@ class TunnelsManager {
     }
 
     static func create(completionHandler: @escaping (TunnelsManager?) -> Void) {
+        #if targetEnvironment(simulator)
+        // NETunnelProviderManager APIs don't work on the simulator
+        completionHandler(TunnelsManager(tunnelProviders: []))
+        #else
         NETunnelProviderManager.loadAllFromPreferences { (managers, error) in
             if let error = error {
                 os_log("Failed to load tunnel provider managers: %{public}@", log: OSLog.default, type: .debug, "\(error)")
@@ -49,6 +53,7 @@ class TunnelsManager {
             }
             completionHandler(TunnelsManager(tunnelProviders: managers ?? []))
         }
+        #endif
     }
 
     func add(tunnelConfiguration: TunnelConfiguration, completionHandler: @escaping (TunnelContainer?, TunnelManagementError?) -> Void) {