2013-10-09 1 views
1

Я использую следующий код, чтобы отправить логин пользователя на сервер, но Apple говорит, что я использую частный API и отклоняю приложение. Как я могу это решить?Как исправить setAllowsAnyHTTPSCertificate личное использование api для представления приложений Apple?

будет заменен на [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];[request setHTTPMethod:@"POST"]; будет достаточно?

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

и мой код Логин:

  // token url 
      NSURL *url=[NSURL URLWithString:@"http://xxxxxxxx.com/api/token"]; 

      NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

      NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

      NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
      [request setURL:url]; 
      [request setHTTPMethod:@"POST"]; 
      [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
      [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
      [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
      [request setHTTPBody:postData]; 

      NSLog(@"url is %@",url), 
      NSLog(@"request is %@",request), 


      **[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];** 
+2

Возможный дубликат [Как использовать NSURLConnection для подключения SSL для ненадежного сертификата?] (Http://stackoverflow.com/questions/933331/how-to-use-nsurlconnection-to-connect-with-ssl- for-an-untrusted-cert) – Bastian

+0

спасибо, это здорово. быстрая вещь - заменила бы с помощью [NSURLRequest setAllowsAnyHTTPSCertificate: YES forHost: [url host]]; [request setHTTPMethod: @ "POST"]; Работа? Я пробовал это, и он регистрирует пользователя в etc ... кажется, работает. просто интересно, будет ли это нормально с Apple – user2588945

ответ