iOS 10国行手机App首装网络权限问题

iOS 10国行手机App首装会弹出一个请求:「允许 XXX 使用数据?」。这个功能是国行特供的,原因与工信部起草的一项规定有关,详见这篇少数派的文章

这里有一些解决方法可以参考戴仓薯的

我们游戏在一启动就会向统一平台请求一些数据,而这一项规定导致新用户无法获取更新,从而出现流失的现象。

针对这个情况,我想到了一个解决办法。就是从启动的源头就开始检测网络,只有在有网络的情况下,才开始游戏的进程。使用AFN

在didFinishLaunchingWithOptions方法中创建网络监听

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    //创建网络监听管理者对象
    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
    
    //设置监听
    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        
        BOOL isReachable = (status == AFNetworkReachabilityStatusReachableViaWiFi
                            || status == AFNetworkReachabilityStatusReachableViaWWAN);
        if (isReachable) {
            NSLog(@"啊啊啊啊啊啊啊啊啊,有网络诶!!!!");
            [self finishLaunching:application didFinishLaunchingWithOptions:launchOptions];
            [manager stopMonitoring];
        }
    }];
    //开始监听
    [manager startMonitoring];
}
-(void)finishLaunching:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    //这里就是执行各种方法就好了。规避了无网络的情况
}

你可能感兴趣的:(iOS 10国行手机App首装网络权限问题)