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 2929
3030@property (strong , nonatomic ) NSObject *vpnStateObserver;
3131
32+ + (void )dispose ;
33+
3234@end
Original file line number Diff line number Diff line change @@ -34,6 +34,14 @@ @implementation RNSimpleOpenvpn
3434
3535RCT_EXPORT_MODULE ();
3636
37+ static NETunnelProviderManager *_cachedManager;
38+
39+ + (void )dispose {
40+ if (_cachedManager) {
41+ [_cachedManager.connection stopVPNTunnel ];
42+ }
43+ }
44+
3745+ (BOOL )requiresMainQueueSetup {
3846 return YES ;
3947}
@@ -64,6 +72,7 @@ - (NSDictionary *)constantsToExport {
6472
6573RCT_EXPORT_METHOD (disconnect : (RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) {
6674 [self .providerManager.connection stopVPNTunnel ];
75+ _cachedManager = nil ;
6776 resolve (nil );
6877}
6978
@@ -76,6 +85,7 @@ - (void)prepareVpn:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlo
7685 }
7786
7887 self.providerManager = managers.firstObject ? managers.firstObject : [NETunnelProviderManager new ];
88+ _cachedManager = self.providerManager ;
7989 [self startVpn: resolve rejecter: reject];
8090 }];
8191}
You can’t perform that action at this time.
0 commit comments