如何调用“关闭飞行模式”通知

13
许多应用程序(例如邮件应用程序),如果设备处于飞行模式,将弹出一个通知,上面写着“关闭飞行模式或使用Wi-Fi访问数据”。我认为如果我的应用程序尝试访问互联网,这将自动被调用,但事实并非如此。是否有特殊的方法来做到这一点?如果没有,如何检查设备是否处于飞行模式并提供链接以禁用它?
5个回答

24

如果你在 Info.plist 文件中添加 UIRequiresPersistentWifi 键并将其设置为 YES,那么如果你处于飞行模式下,你将在启动时收到标准的“关闭飞行模式...”弹出窗口。


3
从2016年开始,UIRequiresPersistentWifi已更改为应用设置“信息”部分中的“应用使用Wi-Fi”。 - matt.writes.code

5

我在我的应用程序中进行测试,发现它已经改变了。"UIRequiresPersistentWifi" => "应用程序使用 Wi-Fi"。

xCode Target Properties


截至2016年,这似乎是此处最新的答案。 - matt.writes.code

2

如果您想使用标准的关闭飞行模式或使用Wi-Fi访问数据[设置|确定]

  1. 在顶部点击+号,为您的info.plist添加一个新属性。
  2. 新属性称为UIRequiresPersistentWiFi(这与上面的帖子类似,但必须完全相同,否则不会注册)
  3. 将类型从String更改为Boolean
  4. 将值从NO更改为YES
  5. 清理并重新构建您的应用程序

2

有时候存在信号接收但无法联网,这会误判为飞行模式。如果您不是面向苹果的市场开发,则可以使用私有API:http://stackoverflow.com/a/31583945/4260691来获取信号强度,现在当事件被触发时,您可以检查NotReachable情况下的信号强度。如果信号强度为零,则是100%的飞行模式。 - OhadM

0

看看this。显然,苹果已将机场控制移至一个单独的框架中

似乎没有标准的方法来通知用户重新打开飞行模式。正如你所提到的,这显然不太优雅,因此我认为苹果已删除了这个功能。


那是从2009年开始使用各种后门。我怀疑真正的答案是“不可能”。我已经在这个问题上遇到了一个漏洞,大约有3年了 - 我认为苹果公司欺骗了我。 - David H
我是说,我认为这仍然有效,尽管不太优雅。 - Imirak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接