美文网首页iOS开发_性能优化ios成长之路iOS开发资料收集区
在iOS10中,新机首次安装 app,请求网络权限“是否允许使用

在iOS10中,新机首次安装 app,请求网络权限“是否允许使用

作者: slowdony | 来源:发表于2017-01-17 15:03 被阅读3730次

    最近在开发中遇到一个问题,就是在iOS10 中当app在手机第一次安装时,苹果会默认弹出一个是否允许app使用数据?的弹出框


    hatIMG1.jpeg

    当手机点击允许时,会发现首页的数据访问不到,会出现空白界面.这个问题只有在国航的苹果手机并且在iOS10 以上的机型里会出现.

    查了相关文章知道由于大陆相关部门出台的新规定指出,应用在未经用户允许的前提下,系统不能授予其使用联网、获取定位的功能。Apple 在 iOS 10操作系统中加入了关于应用使用数据的授权弹窗提示,用户在 iOS 10 系统中第一次打开应用时,会被要求对于是否授予应用联网权限进行选择。

    空白界面无非就是网络请求出现了没有请求数据,或者请求到数据没有刷新界面,可能原因是由于app的访问数据请求步骤发生在弹出框之前,所以当弹出框出来后,app访问数据已经操作,但由于用户还没有点击允许访问数据,导致无法操作网络数据请求,所以导致空白界面.

    解决思路通过AFN监听网络状态,判断手机是否可以访问数据,如果可以再进行数据请求,这样就会在弹出框后使app访问到数据.就不会出现空白界面了

    其次你也可以通过添加新特性图片轮播图,当第一次使用是app会出现新特性界面,会是首页数据访问发生在弹出框之后,

     //监听网络
        AFNetworkReachabilityManager *netManager = [AFNetworkReachabilityManager sharedManager];
        [netManager startMonitoring];  //开始监听
        [netManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){
            
            if (status == AFNetworkReachabilityStatusNotReachable)
            {
                //showAlert
    //            [EPProgressHUD showErrorWithStatus:@"网络链接错误,请检查网络链接"];
                
                return;
            }else if (status == AFNetworkReachabilityStatusUnknown){
                
                DLog(@"未知网络");
                [EPProgressHUD showErrorWithStatus:@"未知网络"];
                
            }else if ((status == AFNetworkReachabilityStatusReachableViaWWAN)||(status == AFNetworkReachabilityStatusReachableViaWiFi)){
                
                DLog(@"WiFi");
                 [self set_NetWork];
                
            }
            
        }];
    
    

    参考文章:这篇文章
    我的微博:slowdony

    相关文章

      网友评论

      本文标题:在iOS10中,新机首次安装 app,请求网络权限“是否允许使用

      本文链接:https://www.haomeiwen.com/subject/lfbmbttx.html