ios – 如何判断用户是否为我的应用关闭了手机数据?

ios – 如何判断用户是否为我的应用关闭了手机数据?,第1张

概述虽然我的应用程序可以在没有任何互联网连接的情况下使用,但它可以与Web服务器交换数据(以显示一些用户统计信息).因此,我将该应用宣传为“无需互联网连接”.一些用户随后关闭了我的应用程序的移动数据,这应该是完全正常的.但是当我的应用尝试交换数据时,这些用户会被“关闭[应用名称]关闭蜂窝数据”.对话. 这对他们来说是一种烦恼,我想阻止这些对话并简单地跳过整个数据交换的事情. 有Apple’s Reac 虽然我的应用程序可以在没有任何互联网连接的情况下使用,但它可以与Web服务器交换数据(以显示一些用户统计信息).因此,我将该应用宣传为“无需互联网连接”.一些用户随后关闭了我的应用程序的移动数据,这应该是完全正常的.但是当我的应用尝试交换数据时,这些用户会被“关闭[应用名称]关闭蜂窝数据”.对话.

这对他们来说是一种烦恼,我想阻止这些对话并简单地跳过整个数据交换的事情.

有Apple’s Reachability Sample Code.

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

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

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

有没有办法检测iOS 7和iOS 8上的互联网连接是否可用,考虑到特定应用程序的蜂窝数据设置 – 所有这些都不会再次通过蜂窝数据对话框窃听用户?

我的应用程序目前没有任何设置面板,所以我想避免设置(第二个应用程序内)开关“不要使用手机数据”.此外,我不想将数据交换限制为WiFi连接,因为每个会话只有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 – 如何判断用户是否为我的应用关闭了手机数据?全部内容,希望文章能够帮你解决ios – 如何判断用户是否为我的应用关闭了手机数据?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存