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

时间:2012-08-14 21:12:53

标签: iphone objective-c ios cocoa-touch

在许多应用程序中,例如Mail应用程序,如果设备处于飞行模式,将弹出“关闭飞行模式或使用Wi-Fi访问数据”的通知。

我认为如果我的应用尝试访问互联网会自动调用此功能,但事实并非如此。是否有特殊方法可以执行此操作,或者如果没有,我如何检查设备是否处于飞行模式并提供设置链接以禁用它?

5 个答案:

答案 0 :(得分:21)

如果您将UIRequiresPersistentWifi密钥添加到Info.plist并将其设置为YES,那么如果您处于飞行模式,则会获得标准“关闭飞行模式......“弹出发布。

答案 1 :(得分:4)

我在我的应用中测试。我发现它改变了。 " UIRequiresPersistentWifi" => "应用程序使用Wi-Fi"。 我希望它会对某人有所帮助。

xCode Target Properties

答案 2 :(得分:2)

当您启动应用程序以检查网络连接时,您可以使用Apple的可访问性框架。看看这个

http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

我有一个针对reachbiltiy API的包装类,使其更易于使用。 (ASIHTTPRequest也有一个)。

https://github.com/daltoniam/GPHTTPRequest

请参阅GPReachablity类以检查连接性。至于对话框提示,不确定是否有办法推送到设置应用程序。有任何问题让我知道。

答案 3 :(得分:2)

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

  1. 点击顶部的info.plist标记,在+中添加新属性。
  2. 新属性名为UIRequiresPersistentWiFi(这类似于上面的帖子,但需要准确,否则不会注册)
  3. 将类型从String更改为Boolean
  4. 将值从NO更改为YES
  5. 清理并重建您的应用

答案 4 :(得分:0)

看看this。显然,Airport control was moved by Apple into a separate framework

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