![](/img/trans.png)
[英]iOS: What is the best way to test internet connection through out the app?
[英]Best way to handle internet authentication pages within iOS app?
在iOS應用程序(通常在免費的WiFi區域,酒店等)中處理Wi-Fi身份驗證頁面的最佳方法是什么(例如在Settings.app中處理(當需要進行身份驗證時在模式中顯示Web視圖))的最佳方法是什么? 對於自定義解決方案,我有一些想法,例如檢查重定向,內容類型,然后向用戶顯示Web視圖,但是想知道是否已經實現了預先存在的解決方案。
背景:
支持iOS 5+
通過AFNetworking路由的所有網絡請求
我認為您的直覺很好。 您可能應該至少做四件事:
使用AFNetworking的setRedirectResponseBlock
並確定request
URL何時不同於您想要的域。
在您的setCompletionBlockWithSuccess:failure:
處理程序塊中,檢測由於狀態代碼不在2xx范圍內而導致的錯誤。
您可能還應該具有setWillSendRequestForAuthenticationChallengeBlock
在其中您可以檢測到意外的身份驗證質詢。
您可能還需要使用AFNetworkReachabilityManager
(基於Apple的Reachability示例)來確定連接類型(例如,識別當前沒有任何WiFi連接)。
顯然,如果WiFi熱點根本需要WPA2 / WPA / WEP密碼才能連接到該熱點(與沒有WPA2 / WPA / WEP身份驗證的熱點相反,但該身份驗證是質詢響應或某些HTML-基於身份驗證),您對此無能為力,因為據AFNetworking所知,您根本沒有WiFi連接(在這種情況下,上面列出的第四種技術可能會提供參考)。 但是許多(大多數?)熱點不需要任何密碼即可連接,而是將您重定向到基於HTML的登錄頁面,在這種情況下,上述前三種技術可能會有所幫助。
據我所知,您必須自己實現此邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.