在许多应用程序中,例如Mail应用程序,如果设备处于飞行模式,将弹出“关闭飞行模式或使用Wi-Fi访问数据”的通知。
我认为如果我的应用尝试访问互联网会自动调用此功能,但事实并非如此。是否有特殊方法可以执行此操作,或者如果没有,我如何检查设备是否处于飞行模式并提供设置链接以禁用它?
答案 0 :(得分:21)
如果您将UIRequiresPersistentWifi
密钥添加到Info.plist
并将其设置为YES
,那么如果您处于飞行模式,则会获得标准“关闭飞行模式......“弹出发布。
答案 1 :(得分:4)
答案 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访问数据[设置|好的]
info.plist
标记,在+
中添加新属性。UIRequiresPersistentWiFi
(这类似于上面的帖子,但需要准确,否则不会注册)String
更改为Boolean
NO
更改为YES
答案 4 :(得分:0)
看看this。显然,Airport control was moved by Apple into a separate framework
似乎没有标准的方法来通知用户重新开启飞行模式。正如你所提到的,这显然不是很优雅,所以我认为苹果删除了这个功能。