我正在尝试使用 iOS 8 VPN,为此我创建了一个新项目> iOS> 单一应用程序。他们激活 VPN 连接 我转到功能 并打开个人 VPN。
Xcode 已经为我生成了这些简单的步骤:
现在,为了测试 VPN 是否处于事件状态,我在 viewDidLoad 方法中使用了以下代码:
#import <NetworkExtension/NetworkExtension.h>
- (void)viewDidLoad {
[super viewDidLoad];
NEVPNManager *manager = [NEVPNManager sharedManager];
[manager loadFromPreferencesWithCompletionHandler:^(NSError *error) {
if(!error) {
NSLog(@"Load error: %@", error);
} else {
// No errors! The rest of your codes goes here...
NSLog(@"VPN seems to be fine.");
}
}];
}
这段代码的问题是我似乎没有在控制台上收到任何消息,问题是方法"loadFromPreferencesWithCompletionHandler" 没有被调用,为什么会这样?
最佳答案
我遇到了同样的问题。我不知道为什么,但似乎只有在 AppDelegate 通过“applicationDidBecomeActive”方法后,loadFromPreferences 才会调用完成处理程序。如果您在应用程序生命周期的那个点之前执行工作,等待完成处理程序将导致无限等待...
所以只需等待“AppDelegate.applicationDidBecomeActive”执行“loadFromPreferencesWithCompletionHandler”
关于ios - loadFromPreferencesWithCompletionHandler : not called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28861510/