Swift初心者です。
ボタンをクリックした際にAPI接続(HTTPS)し、Javaプログラムを呼んでいます。
正常に接続できた場合、次の画面に遷移するという処理なのですが、エラーが発生します。
次の画面には遷移するのですが、Labelとかボタンの文言が消えてしまっている状態で表示されます。
「nw_socket_set_common_sockopts setsockopt SO_NOAONFALLBK failed: [42] Protocol not available, dumping backtrace: ~」
ソケットうんぬんとかプロトコルとかのエラーかと思いますが、
もしかしたらHTTPSが原因かもと考えております。
お分かりの方いらっしゃいましたらご教示いただけますと幸いです。
Swift
1@IBAction func loginButton(_ sender: Any) { 2 3 let apiURL = URL(string:"https://testapi.com")! 4 var request = URLRequest(url: apiURL) 5 request.httpMethod = "POST" 6 7 // APIに接続 8 URLSession.shared.dataTask(with: request) {data, response, err in 9 if (err == nil) { 10 11 // 通信成功 12 do { 13 // メインメニューに遷移 14 let storyboard: UIStoryboard = self.storyboard! 15 let nextView = storyboard.instantiateViewController(withIdentifier: "MainView") as! MainViewController 16 self.present(nextView, animated: false, completion: nil) 17 18 } catch { 19 20 // 通信エラー 21 let alert = UIAlertController( 22 title: "エラー", 23 message: "通信エラー", 24 preferredStyle: .alert) 25 26 alert.addAction(UIAlertAction(title: "OK", style: .default)) 27 28 self.present(alert, animated: true, completion: nil) 29 } 30 } 31 32 }.resume() 33}
ちなみにresponseで得られた結果は以下の通りとなります。
{ URL: https://testapi.com } { status code: 200, headers {
Connection = "Keep-Alive";
"Content-Length" = 208;
"Content-Type" = "application/json;charset=UTF-8";
Date = "Thu, 23 Feb 2017 08:33:50 GMT";
"Keep-Alive" = "timeout=15";
"Set-Cookie" = "JSESSIONID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; Path=/xxxx/; Secure; HttpOnly";
Vary = "Accept-Encoding";
} }
HttpOnlyが少し気になります・・・
回答3件
あなたの回答
tips
プレビュー