iOS10 优化APP首次安装网络权限提示方案

我刚经历了一场末日(停电),特别是在你想写文档的时候。。。

言归正传,今天的问题是解决iOS10系统下首次按钮APP弹出的网络权限提示所带来了问题以及优化。

起因



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

问题

Apple把自己的问题解决了, 但是Apple没有给出官方的获取选择事件的回调,这样就是给开发者挖坑了。
对于很多开发者习惯于把预加载接口放到AppDelegate的同志就很苦恼了。
这样会造成配置接口请求失败,首页数据为空的情况,第一次获取DeviceToken失败,添加推送通知失败,第三方初始化失败,以至于导致很多延伸的问题。

解决

1.根据CTCellularData类获取网络权限状态以及监听状态改变回调(推荐)
我就在使用此方法。话不多说上代码,注释很详细;
添加CoreTelephony系统库,在AppDelegate.m里 #import<CoreTelephony/CTCellularData.h>
[objc] view plain copy
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
  2.     // Override point for customization after application launch.  
  3.       
  4.     //1.获取网络权限 根绝权限进行人机交互  
  5.     if (__IPHONE_10_0) {  
  6.         [self networkStatus:application didFinishLa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值