My iPhone application was rejected solely for using the (very safe, it seems) private method +setAllowsAnyHTTPSCertificate:forHost: for NSURLRequest. Is there a non-private API to emulate this functionality?
My iPhone application was rejected solely for using the (very safe, it seems) private method +setAllowsAnyHTTPSCertificate:forHost: for NSURLRequest. Is there a non-private API to emulate this functionality?
There seems to be a public API for that ;) How to use NSURLConnection to connect with SSL for an untrusted cert?
One really stupid workaround is to make your own category method:
@implementation NSURLRequest (IgnoreSSL)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return YES;
}
@end
This should get by Apple's private API checks, but it's still the same thing (using a private, undocumented API[1] that is liable to break at any time). Actually, it's worse since it allows everything, not just that host.
[1]: An private API that should be made public, but a private API nevertheless.
Not a solution, but a suggestion. Have you thought about using ASIHttpRequest Framework for this? This framework is complete in all aspects. Check the documentation, maybe it can help you too.
setAllowsAnyHTTPSCertificate seems to now be unsupported in OS X 10.6.6 altogether.
Did I say 10.6.6? Perhaps I should have said "Snow Vista".