iOSの証明書で詰まった話
事象
iOSのAppからウェブサーバー上にあるAPIを叩きにいくとエラーがでる。
とりあえずエラーの原因を探る
Xcode起動で、
- ツールバー [window] => [Devices and Simulators]
- Devicesを選択 => デバッグに使用しているデバイスを右パラムConnectedから選択
- 画面下部の△マークみたいなのをクリック
これで本体の操作ログを出力できる。
エラーログ
APIをたたきに行くと下記のエラーコードを出しているっぽい
Error Domain=NSURLErrorDomain Code=-1012
これ、なんぞやと思って調べてみたらこんな感じ。 CFNetworkErrors.cfurlErrorUserCancelledAuthentication
解決方法
ん?認証エラー?
ってことで担当の人に聞きに行ってみたら、移行先の証明書ファイルがないのが原因っぽいってことで、新しい証明書を発行してもらって下記の実施。
- 発行された証明書ファイルを、Resourceなどのフォルダに格納。
- プロジェクトのxcodeprojを選択 => Build Phases => Copy Bundle Resources 内に該当の証明書ファイルを追加。
これで接続できました。
さらっと書いてるけど、3時間くらい読めないObjective-Cを詠んだ末のこれだったので、泣きました。
参考にしたもの
iOS Can't perform HTTP GET request -Error Domain=NSURLErrorDomain Code=-1012 - Stack Overflow
CFNetworkErrors.cfurlErrorUserCancelledAuthentication - CFNetworkErrors | Apple Developer Documentation