【发布时间】:2014-10-14 10:00:39
【问题描述】:
虽然我的应用可以在没有任何互联网连接的情况下使用,但它可能会与网络服务器交换数据(以显示一些用户统计信息)。因此,我将该应用程序宣传为“不需要互联网连接”。一些用户随后为我的应用关闭了蜂窝数据,这应该完全没问题。但是当我的应用程序尝试交换数据时,这些用户会遇到“[App Name] 的蜂窝数据已关闭”的问题。对话框。
这对他们来说很烦人,我想阻止这些对话并简单地跳过整个数据交换的事情。
有Apple's Reachability Sample Code。
但是,尽管我关闭了整个设备的 WiFi 和应用程序的蜂窝数据,但 Reachability 确认了积极的互联网连接。更具体地说,它报告
Reachability Flag Status: WR t------ networkStatusForFlags
无论我是否激活了蜂窝数据。当然,当蜂窝数据关闭时,实际上没有可用的互联网连接,因此数据交换失败。但无论如何都会向用户显示蜂窝数据对话框。
是否有任何方法可以检测 iOS 7 和 iOS 8 上的互联网连接是否可用,同时考虑到特定应用的蜂窝数据设置 - 所有这些都不会每次都使用蜂窝数据对话框再次打扰用户?
我的应用目前没有任何设置面板,因此我想避免设置(第二个,应用内)开关“不使用蜂窝数据”。另外,我不想将数据交换限制为 WiFi 连接,因为每个会话只有 2 KB 的数据,这对大多数用户来说并不是什么大事。
【问题讨论】:
标签: ios cocoa-touch foundation