新机首次安装 app,请求网络权限“是否允许使用数据”,点允许后,首页数据为空
来源:互联网 发布:mac装双系统还是虚拟机 编辑:程序博客网 时间:2024/05/29 11:02
现在发现一个问题,在iOS10以上中,当app在手机第一次安装的时候,苹果会默认弹出一个是否允许app使用数据的弹框,允许后首页一片空白,之前做那个app没在关注过这一次,因为首页有下拉刷新这个功能,并且这个问题是这个设备第一次安装才出现,也没太关注过这个问题,现在开发新的app,首页没有下拉刷新,第一次安装就直接空白。
查看了一些资料说是由于咱大陆相关部门出台的新规定指出,应用在未经用户允许的前提下,系统不能授予其使用联网、获取定位功能,iphone在iOS10操作系统中加入了关于应用使用数据的授权弹框提示,用户在iOS10以上系统中第一次打开应用时,会被要求对于是否授予应用联网权限进行选择。
这种现象在卸载后,再重新装,也不会出现这种现象,问题只会出现在这台设备第一次安装、第一次启动的情况下,如果把手机抹掉、重置,问题还能重现。
解决思路是
1.先判断这个设备是否是第一次安装这个app,可以通过keychain方式来存储数据来判断,因为这种方式保存的信息不会因为因app被删除而丢失。
2.可以通过MyReachability第三方库来监听网络的变化,如果监测到有网并且该设备是第一次安装就重新获取首页数据。
代码
- (void)writeUUID
{
if ([KeyChainHelperload:@"private"] ==nil) {
// 设置数据
[KeyChainHelpersave:@"private"data:[[NSUUIDUUID] UUIDString]];
}
}
- (void)checkNetworkStatus:(NSNotification *)notifi
{
MyReachability *NetReachable = notifi.object;
NetworkStatus NetStatus = [NetReachablecurrentReachabilityStatus];
//由于首次安装 app,会弹出请求网络权限“是否允许使用数据”允许之前没网 允许之后才有网有网后通知去下载首页的数据
if (NetStatus !=NotReachable && [KeyChainHelperload:@"private"] ==nil) {
[[NSNotificationCenterdefaultCenter] postNotificationName:DOWNLOADHOMEDATAobject:nil];
[selfgetSdWhiteList];
[selfwriteUUID];
}
[[NSUserDefaultsstandardUserDefaults] synchronize];
}
- 新机首次安装 app,请求网络权限“是否允许使用数据”,点允许后,首页数据为空
- iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”
- iOS新机首次安装 app,请求网络权限“是否允许使用数据”
- iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”
- iOS 10 首次安装应用,授权允许使用数据,首页无数据
- 查看SQL字段是否允许为空
- ios10申请权限以及弹出允许使用数据框
- ios7 是否允许app使用麦克风
- formValidator 验证是否为空,允许空格的方法
- sybase数据库查询字段是否允许为空
- 数据库库设计:字段是否允许为空的思考
- ios 网络请求返回的data数据转string后为空
- 通过网络请求获取数据时,如果立即使用就会报错:数据为空
- IOS10 应用安装无网络访问,提示是否允许使用网络
- 重置IOS APP首次运行时系统弹出的“是否允许”提示框
- iOS10 不自动弹出询问是否允许使用蜂窝数据的解决方法
- asyncTask 异步网络请求数据 判断适配器为空
- 判断网络获取的数据NSArry是否为空
- HDU 1861 最大报销额 01背包
- 11月9号
- C++ STL一一list
- hdu2475 BOX(splay+dfs序)
- 关于String.equals(null)
- 新机首次安装 app,请求网络权限“是否允许使用数据”,点允许后,首页数据为空
- List之间赋值
- 算法:二叉树递归遍历
- Laravel5.5 使用Laravel Mix编译Less
- 根文件系统制作时的错误总结
- Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(四)
- 基于springCloud的分布式架构体系
- 少年郎,你需要封装好的ViewPager工具类
- Spring小结