【发布时间】:2012-08-14 21:12:52
【问题描述】:
在许多应用程序中,例如邮件应用程序,如果设备处于飞行模式,则会弹出一条通知,提示“关闭飞行模式或使用 Wi-Fi 访问数据”。
我认为如果我的应用程序尝试访问互联网,它会自动调用,但事实并非如此。有没有特殊的方法可以做到这一点,或者如果没有,我如何检查设备是否处于飞行模式并提供指向设置的链接以禁用它?
【问题讨论】:
标签: iphone objective-c ios cocoa-touch
在许多应用程序中,例如邮件应用程序,如果设备处于飞行模式,则会弹出一条通知,提示“关闭飞行模式或使用 Wi-Fi 访问数据”。
我认为如果我的应用程序尝试访问互联网,它会自动调用,但事实并非如此。有没有特殊的方法可以做到这一点,或者如果没有,我如何检查设备是否处于飞行模式并提供指向设置的链接以禁用它?
【问题讨论】:
标签: iphone objective-c ios cocoa-touch
如果您将UIRequiresPersistentWifi 键添加到您的Info.plist 并将其设置为YES,那么如果您处于飞行模式,您将看到标准的“关闭飞行模式...”弹出窗口发射。
【讨论】:
您可以在应用启动时使用苹果的可达性框架来检查网络连接。看看这个
http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html
我有一个用于reachbiltiy API 的包装类,以使其更易于使用。 (ASIHTTPRequest 也有一个)。
https://github.com/daltoniam/GPHTTPRequest
查看 GPReachablity 类以检查连接性。至于对话框提示,不确定是否有办法推送到设置应用程序。有任何问题请告诉我。
【讨论】:
如果您想要标准 关闭飞行模式或使用 Wi-Fi 访问数据 [设置 |好的]
+ 标志,在您的info.plist 中添加新属性。UIRequiresPersistentWiFi(这与上面的帖子类似,但需要准确,否则不会注册)String 更改为 Boolean NO 更改为YES
【讨论】:
看看this。显然,Airport control was moved by Apple into a separate framework
似乎没有标准的方法来通知用户重新打开飞行模式。正如你提到的,这显然不是很优雅,所以我认为苹果删除了这个功能。
【讨论】: