2015-11-19 2 views
1

J'ai donc cette extension de partage iOS pour mon application qui envoie un résultat à mon serveur en didSelectPost() lorsque le bouton 'POST' est cliqué. Tout fonctionne bien sur simulateur; la demande est envoyée et je peux voir des paquets de données sortir dans Charles.iOS Share Extension NSURLSession ne fonctionne pas sur iOS 9

Sur iOS 9, l'extension de partage se lance correctement, mais la demande n'est pas envoyée dans la fonction didSelectPost.

Je ne suis pas sûr si c'est quelque chose de mal avec mon extension de partage ou le NSURLSession.

Le code -

- (void)didSelectPost { 

    //Get session configuration 
    NSString * const configName = @"com.xx.xxx"; 
    self.sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:configName]; 
    self.sessionConfiguration.sharedContainerIdentifier = @"group.xx.ShareURL"; 

    //Init NSURLSession 
    self.session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration]; 
    NSURLRequest *request = [self postContentToService:self.shareUrl.absoluteString]; 

    //post request 
    self.sessionTask = [self.session dataTaskWithRequest:request]; 

    //resume 
    [self.sessionTask resume]; 

    [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil]; 
} 

Toute aide est appréciée.

+1

Il est peut-être utile de vérifier s'il s'agit d'un problème [App Transport Security] (https://developer.apple.com/videos/play/wwdc2015-711/). – rickster

Répondre

0

Il s'avère que j'utilisais HTTP au lieu de HTTPS, et la chose ATP bloque toutes mes demandes NSURLR, sans aucune forme de remarque.

Nous avons poussé notre équipe de serveurs à passer à HTTPS et à utiliser les connexions HTTPS, tout fonctionne bien maintenant.