aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2018-11-07 18:13:50 +0530
committerRoopesh Chander <roop@roopc.net>2018-11-07 18:15:20 +0530
commitb3515c937e8f15c1740c4585331106a8e6053bff (patch)
tree276d84e666e571f98e30477866141e01373f612b
parentiPad: Configuring the split-view controller should happen in init(), not loadView() (diff)
downloadwireguard-apple-b3515c937e8f15c1740c4585331106a8e6053bff.tar.xz
wireguard-apple-b3515c937e8f15c1740c4585331106a8e6053bff.zip
TunnelsManager: Return a manager with no tunnels in the simulator
To be able to run at least parts of the app in the simulator. Signed-off-by: Roopesh Chander <roop@roopc.net>
-rw-r--r--WireGuard/WireGuard/VPN/TunnelsManager.swift5
1 files changed, 5 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/VPN/TunnelsManager.swift b/WireGuard/WireGuard/VPN/TunnelsManager.swift
index d0fe337..3b72100 100644
--- a/WireGuard/WireGuard/VPN/TunnelsManager.swift
+++ b/WireGuard/WireGuard/VPN/TunnelsManager.swift
@@ -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) {