2012-08-14 83 views
13

在許多應用程序(如郵件應用程序)中,如果設備處於飛行模式,將會彈出一個通知,提示「關閉飛行模式或使用Wi-Fi訪問數據「。如何調用「關閉飛行模式」通知

我認爲如果我的應用試圖訪問互聯網,它會自動被調用,但事實並非如此。有沒有特殊的方法來做到這一點,或者如果不是,我該如何檢查設備是否處於飛行模式並提供指向設置的鏈接來禁用它?

回答

20

如果添加UIRequiresPersistentWifi關鍵看你Info.plist並將其設置爲YES,然後如果你在飛行模式中,你會得到標準的「關閉飛行模式,...」彈出上推出。

+1

截至2016年,UIRequiresPersistentWifi在應用程序設置信息部分更改爲「應用程序使用Wi-Fi」。 – 2016-04-19 22:29:49

0

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

似乎沒有標準的方式來通知用戶重新打開飛機模式。正如你所提到的,這顯然不是很優雅,所以我認爲蘋果刪除了這個功能。

+0

這是從2009年開始使用各種後門程序。我懷疑真正的答案是「沒辦法」。我已經在這個問題上出現了3年的錯誤 - 我認爲蘋果公司重複了它。 – 2012-08-14 21:57:01

+0

嗯,我的意思是我認爲這仍然有效,儘管它不是很優雅。 – Imirak 2012-08-14 22:04:44

2

當您啓動應用程序以檢查網絡連接時,您可以使用蘋果的可用性框架。檢查了這一點

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

我有一個包裝類reachbiltiy的API,使其易於使用。 (ASIHTTPRequest也有一個)。

https://github.com/daltoniam/GPHTTPRequest

看到GPReachablity類檢查連接。就對話提示而言,不確定是否有辦法推送到設置應用程序。任何問題都讓我知道。

+0

有些情況下,有接收但沒有互聯網連接,它會作爲飛機模式誤報。如果您正在爲Apple市場開發NOT,那麼您可以使用私有API:http:// stackoverflow。com/a/31583945/4260691來獲取信號強度,現在當事件被觸發時,您可以檢查NotReachable情況下的信號強度。如果信號強度爲零,那麼它是100%飛行模式。 – OhadM 2016-02-17 15:53:54

4

我在我的應用程序中測試。我發現它改變了。 「UIRequiresPersistentWifi」=>「應用程序使用Wi-Fi」。 我希望它能幫助別人。

xCode Target Properties

+0

截至2016年,這似乎是這裏最新的答案。 – 2016-04-19 22:28:50

2

如果你想要的標準關閉飛行模式,或使用Wi-Fi訪問數據[設置| OK]

  1. info.plist通過點擊頂部的+標誌添加一個新的屬性。
  2. 新屬性被稱爲UIRequiresPersistentWiFi(這類似於上面的貼子,但需要是精確的否則不註冊)從StringBoolean
  3. 變化值從NOYES
  4. 更改類型清理並重建您的應用程序