Roc*_*oll 6 background reachability ios
我的Iphone应用程序有2种模式,在线模式和离线模式.如果用户在在线模式下使用应用程序,请求会立即提交给服务器.如果用户在离线模式下使用应用程序,我将在本地存储请求,以便我可以在互联网可用时上传它.我正在使用可达性类来检查互联网可用性.应用程序的可访问性正常.我无法实现以下方案.当用户在离线模式下工作时我存储了请求,意味着当用户通过点击iPhone中的主页按钮在后台推送应用程序时.一段时间后,用户将激活他的设备中的WiFi或蜂窝连接.当用户启用互联网连接时,我的后台应用程序会收到通知,并应开始向服务器提交请求.我该如何实现这一功能?许多ios应用程序可能具有相同的此要求.他们是怎么做的?任何的想法?
我尝试了以下步骤来实现这一目标,但没有成功.我在这里做错了什么,帮助我.
1)我在applicationDidEnterBackground委托方法中添加了kReachabilityChangedNotification的观察者.但我的应用程序无法通过此方法收听Kreachabiliychagednotification.
2)如果我在applicationdidbecomeActive中添加kReachabilityChangedNotification的观察者,那么我的应用程序能够听取Kreachabiliychagednotification.
当app在后台时,为什么IOS不允许听Kreachabiliychagednotification?
当我在一个项目中时,我开始处理相同的情况,但我开始知道默认情况下,后台状态应用程序仅停留很短的时间,大多数应用程序不久后就会进入暂停状态。这意味着应用程序位于后台但不执行代码。所以你的自定义实现的通知不起作用。必须在应用程序委托方法中的唤醒时间重新查询 NetworkReachability:
applicationWillEnterForeground:
applicationDidBecomeActive
Run Code Online (Sandbox Code Playgroud)
这是我处理这个问题的最好方法,希望有帮助
| 归档时间: |
|
| 查看次数: |
2635 次 |
| 最近记录: |