gpt4 book ai didi

ios - 在我的手机上运行 Swift 项目时 TIC TCP Conn 失败

转载 作者:IT王子 更新时间:2023-10-29 05:15:28 25 4
gpt4 key购买 nike

我是 Swift 的新手。我构建了一个在模拟器上运行良好的简单应用程序。我在我的设备(装有 iOS 11.0.2 的 iPhone 6s)上运行相同的程序,但无法连接到服务器。

出现这些错误:

2017-10-26 18:16:02.489134-0400 myproj[1451:206438] TIC TCP Conn Failed [1:0x1c0176800]: 1:61 Err(61)
2017-10-26 18:16:02.489771-0400 myproj[1451:206438] Task <0C30ADDC-4A0E-4815-A701-2EF0A7CF5F04>.<1> HTTP load failed (error code: -1004 [1:61])
2017-10-26 18:16:02.490293-0400 myproj[1451:206440] Task <0C30ADDC-4A0E-4815-A701-2EF0A7CF5F04>.<1> finished with error - code: -1004

请帮助我理解这个错误。

编辑:

下面是调用服务器的代码:

func postRequest(postData: NSDictionary, postHeaders: NSDictionary, endPoint: String,
onComplete: @escaping ((NSDictionary)->Void), callbackParams: NSDictionary = NSMutableDictionary()) {
let url:URL = baseUrl.appendingPathComponent(endPoint)
let session = URLSession.shared
let request = NSMutableURLRequest(url: url)
request.httpMethod = "POST"
request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData
var paramString = ""
for (key, value) in postData{
paramString = paramString + (key as! String) + "=" + (value as! String) + "&"
}

request.allHTTPHeaderFields = postHeaders as? [String : String]
request.httpBody = paramString.data(using: String.Encoding.utf8)

let task = session.dataTask(with: request as URLRequest, completionHandler: {
(data, response, error) in
guard let _:Data = data, let _:URLResponse = response , error == nil else {
return}
let json: Any?
do {
json = try JSONSerialization.jsonObject(with: data!, options: [])
}
catch {
return
}
var serverResponse = json as? NSDictionary
DispatchQueue.main.async{
for (key, value) in serverResponse!{
callbackParams.setValue(value, forKey: key as! String)
}
onComplete(callbackParams)
}
})
task.resume()
}

编辑:

Adding screen shot of info.plist, I had set Allow Arbitrary Loads to True as indicated in other posts, but didn't solve谢谢!

最佳答案

错误 -1004 是 URLError.cannotConnectToHost。由于某种原因,它无法连接到服务器。

在评论中,您说 URL 是 http://127.0.0.1。即 localhost,当前机器。如果您在实体手机上使用该 URL,它会在手机上寻找 Web 服务器。 哈哈。它在模拟器上运行,因为模拟器您的计算机,localhost

您需要一个 URL,您的 iPhone 可以将其解析为运行您的网络服务的机器。例如,找出在本地网络上运行 Web 服务的计算机的 IP,确保你的 iPhone 在同一网络上的 wifi 上,然后在 LAN 上为你的计算机使用该唯一 IP 号(可能更像是192.168.0.x).

关于ios - 在我的手机上运行 Swift 项目时 TIC TCP Conn 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46964781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com