国行手机第一次安装APP,会有请求网络权限的一个弹框出现,在这期间APP是没有任何网络连接的。

想必大部分APP的需求和这个逻辑有冲突。

先推荐一个链接:http://www.cocoachina.com/ios/20161125/18181.html

普通情况的解决方案还是蛮多的。

1.设置引导页

2.无数据情况在空白UI区域设置一个刷新按钮,

当然上述场景中如果有注册推送的情况,大多数注册推送都会在appdelegate入口里,这种写法下允许推送的弹框和允许使用网络的弹框出现的顺序没有一定。如果先出允许推送的弹框,用户点击允许,此时注册 deviceToken 是不能成功的。当然如果用户允许访问网络,第二次打开 app 时也会走一遍注册远程推送方法,此时就能注册成功了。当然第二次注册成功总还是一个不大不小的bug。

目前我的需求是第一次安装打开APP,要请求一个LaunchAD也就是弹屏广告,而且要确保是第一次打开,因为是一款儿童应用,只有第一次打开的情况大多数才是父母的操作。这个需求跟注册推送其实差不多~

解决方案:通过AFN监听网络状态,当监听到有网络连接的时候再进行请求LaunchAD

- (void)monitorNetState{
AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusUnknown:
break;
case AFNetworkReachabilityStatusNotReachable:
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
[self getLaunchAdAgain];
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
[self getLaunchAdAgain];
break;
default:
break;
}
}];
[mgr startMonitoring];
}

然后在getLaunchAdAgain方法中做一些判断防止重复请求就完美解决了

- (void)getLaunchAdAgain{
BOOL app_ready = [[NSUserDefaults standardUserDefaults] boolForKey:@"app_ready"];
if (self.hasGetLaunchAd||!app_ready) {
return;
}
[self getLaunchAd];
}

over~

国行iphone第一次安装APP网络状况的更多相关文章

  1. iOS10 国行iPhone联网权限问题处理

    在iOS10上安装新App, 第一次打开时会询问用户"是否允许应用使用数据"(仅针对国行且需要连接移动网络的设备), 如下图所示, 在用户点击允许之前, App是无法联网的, 这意 ...

  2. 锋友分享:国行和非国行iPhone的送修需知

    锋友 hfln0829 分享了一些关于苹果 iPhone 售后服务的注意事项以及有可能的维修方式.他表示,无论是国行还是港版送修,都必须关闭查找我的 iPhone 这个功能,如果你关闭不了,售后不会受 ...

  3. iPhone IOS10安装APP没提示连接网络(无法联网)的解决办法

    iPhone升级ios10之后,遇到如标题所述问题时: 1.退出APP,设置-蜂窝移动网络-无线局域网助理-开启 2.进入APP,这时候就回提示连接网络了. 提醒: 数据流量有限的朋友,平时请关闭&q ...

  4. iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”(转)

    症状 iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装.第一次启动的时候,app 首屏一片空白,完全没数据.kill 掉重新打开就好了. 一开始以为是用户网络情况不好,但随着越来越多的用 ...

  5. iPhone 6/6 Plus国行版开卖当日抢购攻略

    在距离苹果首批发售时隔一个月也就是北京时间10月17日,苹果iPhone 6.iPhone 6 Plus终于也要在中国大陆开卖,众多国内用户终于有机会安排自己的购机计划.据不完全数据显示,目前iPho ...

  6. 国行手机安装GOOGLE PLAY

    原文地址:http://blog.sina.com.cn/s/blog_68cff87b0101a96k.html 相信国行的手机都是没有google Play 功能的吧,相比其它国外的手机,功能上逊 ...

  7. 关于APP在小米5s第一次安装启动后,点击home返回桌面,再次进入重进闪屏页问题

    现象 今天工作中,在对公司产品进行测试的时候,程序员小哥点出了一个问题.问题点出的步骤是这样的: 1.安装APP 2.点击打开 3.经过闪屏页,进入主页后,点击HOME键 4.再次进入程序会重新进入闪 ...

  8. 国行Android手机使用google全套GMS服务小结

        由于众所周知的原因,国行手机是不能内置google服务的,但作为铁杆google粉,没有GMS的Android不是完整的Android,NEXUS系列机器又由于各种原因买不到或者不想选购,那么 ...

  9. iOS APP下载安装时,如果出现此时无法下载安装APP的字样时,一些解决思路

    1.在iosAPP下载安装时,如果出现此时无法下载安装APP的字样时,可能是苹果系统进行了支持更新,并需要我们确认条约.至于如何判断是否是苹果系统进行了更改,只需要我们进入开发者账号,进入我的账户(A ...

随机推荐

  1. linux进阶之路(二):linux文件目录

    Linux的目录结构: Linux文件系统采用级层式的目录结构,最上层是根目录"/",在此目录下再创建其他目录. 树状的文件目录.再Linux世界,一切皆文件. /etc 所有系统 ...

  2. 22. Jmeter NON GUI模式

    一般情况下我们都是在NonGUI模式下运行jmeter.这样做有两个好处 节省系统资源,能够产生更大的负载 可以通过命令行参数对测试场景进行更精细的配置 需求:模拟5个用户同时访问百度首页的情况 步骤 ...

  3. sed use case: Filter without editing

    if we want to filter with sed pattern and just print the filtered lines without any further editing ...

  4. Netty 源码学习——服务端流程分析

    在上一篇我们已经介绍了客户端的流程分析,我们已经对启动已经大体上有了一定的认识,现在我们继续看对服务端的流程来看一看到底有什么区别. 服务端代码 public class NioServer { pr ...

  5. jenkins+jacoco配置代码覆盖率

    一.服务器端配置 1.在代码部署服务器中安装jacoco,用于手工/接口测试覆盖率监听收集 2a.正常情况下,可在服务器中代码部署模块下的default文件夹中,修改tomcat文件如下 其中,inc ...

  6. USACO 2001 OPEN earthquake /// 最优比例生成树

    题目大意: https://www.cnblogs.com/forever97/p/3603572.html 讲解:https://www.jianshu.com/p/d40a740a527e 题解: ...

  7. POJ 3259 Wormholes Bellman题解

    版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/.未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...

  8. vuex-along解决vuex中存储的数据在页面刷新之后失去的问题

    1. 为什么会失去? vuex可以看成是一个"提升变量"的一个工具,它是将state当做全局变量存储.F5刷新页面之后自然随着页面的刷新重新初始化state. 2. 如果解决数据保 ...

  9. docker配置阿里云镜像加速地址

    1.注册阿里云用户 2.阿里云控制台首页,开发者工具->开发者中心 3.加入开发者中心,并设置密码. 4.镜像中心->镜像加速器

  10. ajax的两种应用方式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...