繁体   English   中英

应用程序在后台时的iOS可达性

[英]iOS Reachability when app is in Background

我的应用程序需要有关用户是否连接到Wifi网络而不是Internet连接的确切信息,所以请不要在用例上发表评论。 任务是:用户需要验证其Wifi已连接,但是如果他们没有可用于连接的Wifi网络,则可以稍后进行连接。 为此,我需要我的应用程序在用户以后连接到Wifi网络时通知用户,现在您可以继续进行测试。

我可以在后台获取请求中使用“可达性”来完成此操作吗? 应用程序可以在后台提取中执行的任务是否有任何限制?

在一般情况下,这是无法解决的。 您不能无限期地在后台运行任意代码(除非您由于其他原因(例如定位服务或VoIP)已经被允许执行后台任务,但是这些仍然有限制)。 当可达性发生变化时,您将无法请求启动。

但是,您可以将NSURLRequest配置为不使用蜂窝访问。 这与“无线”不完全相同,但是很接近,可能正是您的意思(您不清楚“无线”为何成为标准)。 然后,您可以使用NSURLSessionUploadTaskNSURLSessionDownloadTask要求操作系统在可能的情况下执行操作(在后台时不唤醒您或以任何方式涉及您)。 如果该请求是针对您的服务器的,则可以使用推送通知来警告用户并获得您所描述的体验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM