2017-03-04 179 views
0
- (void) userAuthenticateWithEmail:(NSString *)email Password:(NSString *)password UserType:(NSString *)userType token:(NSString *)token UDIDNumber:(NSString *)UDIDNumber :(void (^)(NSDictionary*))completionBlock 
{ 
NSString *urlStr = [[DELEGATE url] stringByAppendingString:[NSString stringWithFormat:@"customerlogin?email=%@&password=%@&user_type=%@&token=%@&imei=%@",email,password,userType,token,UDIDNumber]]; 

[self executeRequestWithUrl:[NSURL URLWithString:urlStr] GET:YES :^(NSDictionary *responseDict) { 
    completionBlock(responseDict); 
}]; 

} 


-(void)executeRequestWithUrl:(NSURL*)url GET:(BOOL)GET :(void (^)(NSDictionary*))completionBlock 
{ 
NSMutableURLRequest *request = [NSMutableURLRequest  requestWithURL:url]; 
[request setCachePolicy:NSURLRequestReloadIgnoringCacheData]; 
[request setHTTPMethod:@"GET"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 

NSLog(@"reuest %@",request.description); 
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; 
NSURLSession *session = [NSURLSession sessionWithConfiguration:config]; 
NSURLSessionDataTask *task = [session dataTaskWithRequest:request 
             completionHandler:^(NSData *data, NSURLResponse *serverResponse, NSError *error) { 

              NSData *responseData = data; 
              if (error) 
              { 
               completionBlock([NSDictionary dictionaryWithObjectsAndKeys:[error description],@"error", nil]); 
              } 
              if (responseData != nil) 
              { 
               NSMutableDictionary *returnedDict = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:&error]; 

               NSLog(@"returnedDict -->>%@",returnedDict); 
               completionBlock(returnedDict); 
              } 
             }]; 
[task resume]; 

}`Image_Screenshot_Here我使用NSURLSession爲POST和GET請求,錯誤錯誤域= NSURLErrorDomain代碼= -1002「」不支持URL」的UserInfo = {附加屏幕截圖NslocalizedDescription =不支持的網址} Domain = kCFErrorDomainCFNetwork Code = -1002「null」}}蘋果iOS應用程序拒絕不支持IPv6的URL,

Apple Review Team的消息如下 - 當您在運行iOS 10.2.1的iPhone上查看時,連接到IPv6網絡的Wi-Fi。

具體而言,啓動後出現錯誤消息。請參閱附件截圖。

下一步

請運行在設備上的應用程序,同時連接到IPv6網絡(所有的應用程序必須支持IPv6)識別任何問題,然後修改並重新提交您的應用程序進行審覈。

如果我們誤解了您的應用程序的預期行爲,請在解決中心回覆此消息以提供有關這些功能的工作原理的信息。

對於新的應用程序,請從設備上卸載應用程序的所有先前版本,然後安裝並按照步驟重現問題。對於更新,安裝新版本作爲以前版本的更新,然後按照步驟重現此問題。

資源

有關支持IPv6網絡的信息,請參閱支持IPv6 DNS64/NAT64網絡和關於網絡。

我從蘋果蘋果審查小組此錯誤警報,屏幕截圖顯示來自蘋果

+0

我得到這個錯誤,我使用NSURLSession請求GET和POST,我應該做些什麼來解決這個問題 –

+2

關於iPv6已經有十幾個主題了。如果你特別說明你的主題爲什麼是唯一的,那麼你就不能參考其他以前的主題。 –

+0

因爲沒有人會談到關於ipv6的NSURLSession,大家都說AFNetworking,NSURlSession也支持ipv6,因爲它是更高級的框架。 –

回答

0

錯誤,我們有同樣的問題。我們已經讓我們的服務器獲得了與ipv6兼容的數據,並且適用於我們。

+0

請檢查ipv6兼容性的截圖,並告訴我它是否支持? https://docs.google.com/document/d/1Sd0ZDBHvtTfXFRk3gM3549P1kw0eG1Fa5DZWjR02q_g/edit?usp=sharing –

0

我同意swift_guru。看來你的服務器不兼容ipv6。確保你已經根據蘋果文件設置了ipv6 only環境,然後通過web連接到你的服務器並檢查你的服務器兼容性。

+0

但ipv6 dns作品 –

1
<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>YourLiveUrl</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
      <key>NSExceptionMinimumTLSVersion</key> 
      <string>TLSv1.2</string> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <true/> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSRequiresCertificateTransparency</key> 
      <false/> 
      <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> 
      <false/> 
      <key>NSThirdPartyExceptionMinimumTLSVersion</key> 
      <string>TLSv1.2</string> 
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <true/> 
     </dict> 
    </dict> 

我們遇到了兩次應用拒絕問題。 在info.plist文件中添加上面幾行並設置YourLiveUrl名稱示例:app.xyz.in.和 你的服務器應該兼容ipv6。 你的問題將得到解決。

+0

這與IPv6有什麼關係? –

+0

你應該問你的網絡工程師。 –

相關問題