###前提・実現したいこと
Swift3でAPIのデータを取得することができません。
IPアドレス直で書いてあることが原因でしょうか。
###発生している問題・エラーメッセージ
The certificate for this server is invalid. You might be connecting to a server that is pretending to be “IPアドレス” which could put your confidential information at risk.
###該当のソースコード
Swift3
let url = URL(string: "https://xxx.xxx.xxx.xxx/〜") var request = URLRequest(url: url!) request.addValue("Bearer xxxxxxxxxxxx", forHTTPHeaderField: "Authorization") let session = URLSession.shared let task = session.dataTask(with: request) { (data:Data?, response:URLResponse?, error:Error?) in guard error == nil else { return } guard let data = data else { return } guard let jsonData = try! JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments) as? [String: Any] else { return } guard let resultSet = jsonData["ResultSet"] as? [String: Any] else { return } self.parseData(resultSet: resultSet) DispatchQueue.main.async { self.tableView.reloadData() } } task.resume()
###補足情報(言語/FW/ツール等のバージョンなど)
・Xcode 8.2.1
・上記はドメイン取得前のAPIなのでIPアドレス直で記載。
###試したこと
・他のドメイン取得してあるアドレスのAPIで試したところデータの取得ができました。
・info.plistでATSの無効化の設定
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
あなたの回答
tips
プレビュー