2015-11-02 46 views
0

我在Xcode 6.4上創建了一個項目。它工作正常。但是當我將Xcode升級到Xcode 7時,所有的JSON服務都無法正常工作,並且總是給我錯誤。 這裏是我的代碼xcode 7 json總是在目標中顯示錯誤C

NSDictionary *get = @{@"name":name.text,@"username":username.text,@"mobile":phonenumber.text}; 
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:get options:kNilOptions error:nil]; 
NSString *jsonInputString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
NSString *post = [[NSString alloc]initWithFormat:@"r=%@",jsonInputString]; 

NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"%@",registerUrl]]; 

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:120.0]; 
[request setURL:url]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

NSError *error; 
NSURLResponse *response; 
NSData *responseData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
if (responseData != nil) 
{ 

    NSMutableDictionary *jsonDict = (NSMutableDictionary *)[NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; 
    NSLog(@"Json Dictionary =======%@",jsonDict); 
} 

if (error) 
{ 
    NSLog(@"error %@",error.description); 
} 

它仍然是在Xcode的6

這裏做工精細的錯誤日誌

錯誤域= NSURLErrorDomain代碼= -1022「的資源不能 裝因爲應用傳輸安全策略要求使用 安全連接。「

+1

顯示你的錯誤 –

+0

你能發佈錯誤日誌嗎? – Leo

+0

我已更新我的問題..請看看@ Anbu.Karthik和Leo –

回答

2

打開Info.plist文件,添加一個新行名NSAppTransportSecurityDictionary類型。然後在它的名字NSAllowsArbitraryLoadsbool種類和設定值增加一個新行YES.

enter image description here

0

你可以在你的plist設置一些NSAppTransportSecurity值。

  • 集NSAllowsArbitraryLoads爲真(是)在這種情況下。如果您發送註冊和個人用戶信息,您應該安全地做。
  • 如果你正在測試,您可以在測試服務器添加到ExceptionDomain

如果要連接到第三方,他們最造就一個安全的服務器。如果它是你自己的服務器,你可以得到一個便宜的簽名證書。