私はSwiftを初めて利用しています。私はシミュレータ上でうまく動作するシンプルなアプリケーションを構築しました。私は自分のデバイス(iOS 11.0.2のiPhone 6s)でも同じことを実行しており、サーバーに接続できません。私の電話でSwiftプロジェクトを実行するとTIC TCP Connが失敗する
これらのエラーを取得:
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()
}
EDIT:
コードを入力する必要があります。 TICとは何ですか? – hasan83
@ hasan83 "TIC TCP Conn Failed"は、基本的な設定上の問題がある場合に生成される標準エラーです(例えば、サンドボックスされておらず、アウトバウンドネットワーク接続を開始する権限が与えられているmacOSアプリで見たことがあります) 。 – Rob
httpまたはhttpsに接続していますか?あなたのhttpがあなたのサーバURLをplistで使うのに安全だと設定しなければならない場合 – hasan83