Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 应用程序不支持3g连接,但可以在wifi上正常工作_Ios_Swift_3g_Alamofire - Fatal编程技术网

Ios 应用程序不支持3g连接,但可以在wifi上正常工作

Ios 应用程序不支持3g连接,但可以在wifi上正常工作,ios,swift,3g,alamofire,Ios,Swift,3g,Alamofire,在设备上临时部署应用程序,该应用程序在wifi下运行良好,但在3g连接下不起作用。知道我错过了什么吗 我没有从谷歌那里得到多少帮助 此外,已安装的应用程序也不会显示在“使用移动数据用于:列表”中 代码: //To handle time out issue with 3g configuration.timeoutIntervalForResource = 60 // Mark using Alamofire to do the downloads self

在设备上临时部署应用程序,该应用程序在wifi下运行良好,但在3g连接下不起作用。知道我错过了什么吗

我没有从谷歌那里得到多少帮助

此外,已安装的应用程序也不会显示在“使用移动数据用于:列表”中

代码:

    //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 )
无论我增加多少时间间隔。已尝试使用资源和请求


忘了提到服务器是Raspberry Pi,我无法访问局域网外的服务器,因此导致了问题。谢谢你的帮助。超时对处理服务器故障非常有帮助。

在wifi或3G上运行的应用程序没有任何问题。
请求超时的唯一问题是
。此问题与internet带宽有关。

请使用以下代码,更改请求超时可能会对您有所帮助

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

    }
}

您是否使用web服务从服务器端获取数据?您使用哪个库从服务器端获取数据?问题可能是超时请求?使用Alamofire处理web服务通信。愚蠢的问题,但是你从你的供应商那里得到了足够的数据吗?在我意识到问题的原因是愚蠢的无知之前,他并不那么愚蠢。不是问问题,只是更新问题,这样其他人就不会犯同样的错误。@mozado你解决问题了吗?那么请告诉我,我正面临来自客户端或服务器端的相同问题请求超时?有一件事我不明白,如果客户端或服务器超时。当我立即从3g切换到wifi时,该应用程序就能正常工作。超时原因若连接速度慢?不超时意味着您的请求可以响应多长时间。在wifi连接中,您将获得比3G更大的互联网带宽,因此与3G网络相比,您的请求可以在短时间内收到响应。感谢您的帮助。但是上面的代码并不能解决我的问题。甚至将TimoutiterValforResource增加到60。你是否解决了你的问题@mozado如果是,请在这里共享代码,以便我们可以学习新的东西。没有解决我的问题,我将用代码更新帖子。这些问题不是很普遍吗?因为我在stack或google上找不到太多帮助。