2017-03-04 2 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 J'utilise NSURLSession pour les postes et demande GET, Fixation capture d'écran d'erreur erreur Domaine = NSURLErrorDomain Code = -1002 « » URL non pris en charge » UserInfo = { NslocalizedDescription = url = non pris en charge} domaine code kCFErrorDomainCFNetwork = -1002 « null »}}d'Apple App ios rejeté pour l'URL non pris en charge pour ipv6,

message d'Apple Review Team comme suit - Nous avons découvert un ou plusieurs bugs dans votre application lorsque l'examen sur iOS exécutant iPhone 10.2.1 sur Wi-Fi connecté à un réseau IPv6. En particulier, un message d'erreur s'affiche après le lancement. Veuillez vous référer à la capture d'écran ci-jointe.

Prochaines étapes

S'il vous plaît exécuter votre application sur un appareil lorsqu'il est connecté à un réseau IPv6 (toutes les applications doivent prendre en charge IPv6) pour identifier les problèmes, puis réviser et soumettre à nouveau votre application pour examen.

Si nous avons mal compris le comportement prévu de votre application, veuillez répondre à ce message dans le Centre de résolution pour fournir des informations sur le fonctionnement de ces fonctionnalités.

Pour les nouvelles applications, désinstallez toutes les versions précédentes de votre application à partir d'un périphérique, puis installez et suivez les étapes pour reproduire le problème. Pour les mises à jour, installez la nouvelle version en tant que mise à jour de la version précédente, puis suivez les étapes pour reproduire le problème.

Ressources

Pour plus d'informations sur le soutien des réseaux IPv6, s'il vous plaît se référer à l'appui IPv6 DNS64/NAT64 Réseaux et réseau A propos.

J'ai eu cette alerte d'erreur de l'équipe d'examen de la pomme de pomme, la capture d'écran montre une erreur de la pomme

+0

Je reçois cette erreur, j'utilise NSURLSession pour la demande GET And Post, quels changements dois-je faire pour résoudre ce problème –

+2

Il y a déjà eu plus d'une douzaine de sujets concernant iPv6. Ce serait bien si vous spécifiez spécifiquement pourquoi votre sujet est unique de sorte que vous ne pouvez pas vous référer à d'autres précédents. –

+0

Parce que personne ne parle de NSURLSession pour ipv6, Tout le monde dit pour AFNetworking, NSURlSession est également supporté par ipv6 car c'est un framework supérieur. –

Répondre

0

Nous avons eu le même problème. Et nous avons fait notre serveur pour obtenir des données IPv6 compatibles et cela fonctionne pour nous.

+0

s'il vous plaît vérifier la capture d'écran pour ipv6 compactiblity et dites-moi est-il pris en charge ou non? https://docs.google.com/document/d/1Sd0ZDBHvtTfXFRk3gM3549P1kw0eG1Fa5DZWjR02q_g/edit?usp=sharing –

0

Je suis d'accord avec swift_guru. Il semble que votre serveur ne soit pas compatible ipv6. Assurez-vous que vous avez configuré le document Apple pour avoir un environnement IPv6 uniquement, puis connectez-vous à votre serveur via le Web et vérifiez la compatibilité de votre serveur.

+0

mais ipv6 dns fonctionne –

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> 

nous avions fait face à deux fois le problème de rejet d'App. Ajoutez les lignes ci-dessus dans le fichier info.plist et définissez l'exemple de nom YourLiveUrl: app.xyz.in. Et votre serveur devrait être compatible pour ipv6. votre problème sera résolu.

+0

Qu'est-ce que cela a à voir avec IPv6? –

+0

que vous devriez demander à votre ingénieur réseau. –