ios - loadFromPreferencesWithCompletionHandler : not called

标签 ios objective-c ios8 vpn

我正在尝试使用 iOS 8 VPN,为此我创建了一个新项目> iOS> 单一应用程序。他们激活 VPN 连接 我转到功能 并打开个人 VPN

Xcode 已经为我生成了这些简单的步骤:

enter image description here

现在,为了测试 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/

相关文章:

swift - iOS 8 上的 Game Center 分享成就或排行榜崩溃

ios - 如何在特定图像旋转时触发事件?

ios - 如果 Web 服务数据更多,则在 ios 中自动增加标签高度

boolean 值的Objective-c dealloc

objective-c - 控制位置: 2 XIBs using 2 instances of NSWINdowController

ios - 应用程序在iOS 8上崩溃并显示崩溃日志,该日志中的内容

ios - 在 iOS 中使用 SSL 连接到 Twitter API

html - 如何添加请求网页的 UITextfield

objective-c - 在 Cocoa/Objective-C 中实现项目可视化列表(例如事物)的最佳方法是什么

ios - 延迟推送通知并检查用户是否启用了它