gpt4 book ai didi

ios - 如何判断用户是否关闭了我的应用程序的蜂窝数据?

转载 作者:可可西里 更新时间:2023-11-01 03:19:31 24 4
gpt4 key购买 nike

虽然我的应用程序可以在没有任何互联网连接的情况下使用,但它可能会与网络服务器交换数据(以显示一些用户统计信息)。所以我将该应用宣传为“不需要互联网连接”。一些用户随后关闭了我的应用程序的蜂窝数据,这应该完全没问题。但是,当我的应用程序尝试交换数据时,这些用户会收到“[应用程序名称] 的蜂窝数据已关闭”的错误提示。对话框。

这对他们来说很烦人,我想阻止这些对话并简单地跳过整个数据交换过程。

Apple's Reachability Sample Code .

但是,虽然我关闭了整个设备的 WiFi 和应用程序的蜂窝数据,但 Reachability 确认了一个积极的互联网连接。更具体地说,它报告

Reachability Flag Status: WR t------ networkStatusForFlags

无论我是否激活蜂窝数据。当然,当蜂窝数据关闭时,实际上没有可用的互联网连接,因此数据交换失败。但无论如何都会向用户显示蜂窝数据对话框。

有没有什么方法可以检测 iOS 7 和 iOS 8 上的互联网连接是否可用,同时考虑到特定应用的蜂窝数据设置——所有这些都不会每次都通过蜂窝数据对话框再次打扰用户?

我的应用目前没有任何设置面板,因此我想避免设置(第二个,应用内)开关“不使用蜂窝数据”。此外,我不想将数据交换限制为 WiFi 连接,因为每个 session 只有 2 KB 的数据,这对大多数用户来说不是什么大事。

最佳答案

我认为 iOS8 中唯一支持的方法是向已知服务器发送 Ping 并使用警告面板多次窃听用户。在 iOS8 上,Apple 只显示了两次面板,然后即使应用程序重新启动也会跳过它,也许它会在一天后再次出现。 (这对于广告支持的应用来说真是个坏消息。)

Apple 说(https://devforums.apple.com/message/1059332#1059332):

Another developer wrote in to DTS and thus I had a chance to investigate this in depth. Alas, the news is much as I expected: there is no supported way to detect that your app is in this state. Nor is there a way to make a "no user interaction" network connection, that is, request that the connection fail rather than present UI like this.

以下文章推荐了使用 ping 的方法:

http://www.splinter.com.au/how-to-ping-a-server-in-objective-c-iphone/

http://elbsolutions.com/projects/reachability-with-simpleping-wrapper/

关于ios - 如何判断用户是否关闭了我的应用程序的蜂窝数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26357954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com