とあるサーバーにPOSTのリクエストを送信した所、エラーになるのであれこれ悩んでたんだけれど、要するにSSLが自己証明書だったため、エラーになってしまったというオチだった。
ちょっとググるとみなさん苦労されているようで、以下のようなカテゴリを実装する事で回避はできるようになった。
http://www.phapper.com/Default.aspx?g=posts&m=8
1 2 3 4 5 6 | @implementation NSURLRequest(NSHTTPURLRequest) + (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host { return YES; // Or whatever logic } @end |
同じサーバーにMobile Safariでアクセスすると、証明書の不備を伝えるアラートが出て、このまま通信を進めるか、キャンセルするか選択できるようになってますな。特定のサーバーとの通信ならまだしも、不特定のURLを扱うようなアプリの場合、ちゃんとエラーハンドリングした方が良さそう。