1

Webサービスからデータをプルするために使用[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)]していますが、Webサーバーに自己発行証明書があるため、次のエラーが表示されます。

SSLエラー

次を使用して表示されたエラー:

NSAlert *a = [NSAlert alertWithError:error];
[a runModal];

このエラーを無視して続行する方法はありますか?

4

2 に答える 2

6

リンクされた質問の指示に従って、NSURLConnectionのダミーインターフェイスを定義しました。

@interface NSURLRequest (DummyInterface)
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host;
@end

そして、リクエストを作成する前にメソッドを呼び出しました。

[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];

これにより、証明書が無効であるというエラーが抑制されました。

于 2013-03-14T15:31:32.147 に答える
0

これはAppleによって拒否される可能性があります。NSConnectiondatadelegateの適切な実装を使用します。

それを回避する方法を参照してください: 同様の質問に対するStackoverflowの応答

于 2014-06-20T22:01:33.383 に答える