2017-02-01 382 views
0

沒有斷開我希望能夠從火力地堡意外儘快進行選擇的用戶斷開連接(也許是因爲互聯網連接的,手機沒電等)。我相信我遇到了這樣做的功能,但我找不到它。先謝謝你。火力地堡發現如果用戶從火力地堡

+0

我不知道,你可以在火力地堡進行選擇,所以我asume你想這樣做就迅速儘管我不明白它是如何更多鈔票,如果手機處於關閉狀態。所以要清楚:你想在代碼上執行選擇器,或者你想觸發一些關於firebase的操作? – i6x86

回答

0
let connectedRef = FIRDatabase.database().reference(withPath: ".info/connected") 
     connectedRef.observe(.value, with: { snapshot in 
      if let connected = snapshot.value as? Bool, connected { 
       print("Connected") 
      } else { 
       print("Not connected") 
      } 
     }) 
0

你需要的是處理連接錯誤的方式,這是一個非常具體取決於您的應用程序的架構,但我會告訴我如何在一個應用程序,仍然在生產做到了。

所以,如果你在谷歌搜索如何做到這一點,你會發現,你可以使用可達性,似乎有一些解決方案與Alamofire過,但我用這個最簡單的方法。我寫的運行類似於此代碼FUNC:

func checkInternet() { 
    DispatchQueue.main.async { 
     let url = URL(string: "https://www.google.com")! 
     let request = URLRequest(url: url) 

     let task = URLSession.shared.dataTask(with: request) {data, response, error in 

      if error != nil { 

       print("Internet Connection not Available!") 
       self.haveInternetConnection = false 
      } 
      else if let httpResponse = response as? HTTPURLResponse { 
       if httpResponse.statusCode == 200 { 
       print("Internet Connection OK") 
       } 
       print("statusCode: \(httpResponse.statusCode)") 
      } 

     } 
     task.resume() 
    } 

} 

在那裏,每次我需要檢查,如果仍然有活動的連接我用它的時間。 此外,我發現這裏的解決方案:https://stackoverflow.com/a/41271535/5843195

編輯:就個人而言,我認爲這是更好地檢查是否有一個連接所有,而不是是否有與數據庫的連接。