2015-04-23 54 views
4

在設備上部署的應用程序,應用程序運行良好的WiFi,但不適用於3G連接。任何想法我失蹤?應用程序不與3G連接工作,但在wifi上工作正常

不會從谷歌得到很多幫助。

而且也安裝在使用移動數據不顯示應用:列表

代碼:

//To handle time out issue with 3g 

    configuration.timeoutIntervalForResource = 60 

    // Mark using Alamofire to do the downloads 

    self.alamofireManager = Alamofire.Manager(configuration:configuration) 
    self.alamofireManager!.request(.GET, jsonUrl).responseJSON(){ 
     (_, _, JSON, _) in 
     println("printing json :\(JSON)") 
     if JSON != nil { 

       let imageInfos = (JSON!.valueForKey("image") as [NSDictionary]).map { 
       ImageInfo(id: $0["id"] as String, url: $0["url"] as String) 
      } 

      self.tableData.addObjectsFromArray(imageInfos) 
} 

錯誤日誌:

我得到一個

(Error Domain = NSURLErrorDomain Code = -1004) 

不管我增加了多少timeoutInterval。嘗試使用資源和請求

忘了提及服務器是樹莓派,我無法訪問局域網之外的服務器,導致問題。謝謝您的幫助。超時在處理服務器故障時非常有用。

+0

您是否使用Web服務獲取數據表單服務器端和您使用哪個庫從服務器端獲取數據端可能是問題是超時請求? –

+0

使用Alamofire處理web服務通信。 –

+0

愚蠢的問題,但是你有足夠的數據從你的提供者? – Eyeball

回答

1

有沒有應用程序工作在無線或3G的任何問題。與request timeout唯一的問題。這個問題與互聯網帶寬有關。

+0

從客戶端或服務器端請求超時? –

+0

從兩邊。 –

+0

有一件事我不明白在這裏,如果客戶端或服務器超時。當我從3g立即切換到WiFi時,該應用程序可以正常工作。如果連接速度超時,會導致超時? –

1

請使用以下代碼更改請求超時可能對您有所幫助。

var alamofireManager : Alamofire.Manager? 

func getCallToServer(){ 
    let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() 
    configuration.timeoutIntervalForResource = 10 // seconds 

    self.alamofireManager = Alamofire.Manager(configuration: configuration) 
    self.alamofireManager!.request(.GET, "http://example.com/") 
    .response { (request, response, data, error) in 

    } 
} 
+0

感謝您的幫助。但上面的代碼並沒有解決我的問題。即使增加了timoutIntervalForResource爲60. –

+0

你是否解決了你的問題@mozado如果是的話,你可以在這裏分享代碼,這樣我們可以學習新的東西。 –

+0

沒有解決我的問題,我用代碼更新了帖子。這些問題不是很常見?因爲我無法在堆棧或谷歌上找到很多幫助。 –

相關問題