File tree Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Expand file tree Collapse file tree 2 files changed +12
-0
lines changed Original file line number Diff line number Diff line change 29
29
30
30
@property (strong , nonatomic ) NSObject *vpnStateObserver;
31
31
32
+ + (void )dispose ;
33
+
32
34
@end
Original file line number Diff line number Diff line change @@ -34,6 +34,14 @@ @implementation RNSimpleOpenvpn
34
34
35
35
RCT_EXPORT_MODULE ();
36
36
37
+ static NETunnelProviderManager *_cachedManager;
38
+
39
+ + (void )dispose {
40
+ if (_cachedManager) {
41
+ [_cachedManager.connection stopVPNTunnel ];
42
+ }
43
+ }
44
+
37
45
+ (BOOL )requiresMainQueueSetup {
38
46
return YES ;
39
47
}
@@ -64,6 +72,7 @@ - (NSDictionary *)constantsToExport {
64
72
65
73
RCT_EXPORT_METHOD (disconnect : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) {
66
74
[self .providerManager.connection stopVPNTunnel ];
75
+ _cachedManager = nil ;
67
76
resolve (nil );
68
77
}
69
78
@@ -76,6 +85,7 @@ - (void)prepareVpn:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlo
76
85
}
77
86
78
87
self.providerManager = managers.firstObject ? managers.firstObject : [NETunnelProviderManager new ];
88
+ _cachedManager = self.providerManager ;
79
89
[self startVpn: resolve rejecter: reject];
80
90
}];
81
91
}
You can’t perform that action at this time.
0 commit comments