2017-10-12 14 views
6

Amis j'ai simple lecteur audio (MPMoviePlayerController) qui peut lire le flux audio. Sur iOS 11 j'ai très interessing ennuis, mille fois que je erreur et mon flux a été arrêté:NSURLConnection terminé avec l'erreur - code -1002

NSURLConnection finished with error - code -1002 

Je coller ce code (code je l'ai vu sur stackowerflow) mais il contribue pas à moi:

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSAllowsArbitraryLoads</key> 
     <true/> 
     <key>NSExceptionDomains</key> 
     <dict> 
      <key>cast.mysite.com</key> 
      <dict> 
       <key>NSExceptionAllowsInsecureHTTPLoads</key> 
       <true/> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
      </dict> 
     </dict> 
    </dict> 

Peut-être connaissez-vous la meilleure solution?

+0

Assurez-vous de diffuser de l'audio à partir du serveur sécurisé (serveur avec certificat valide). –

+0

c'est une obligation? J'ai 8 flux http et sur iOS 10 fonctionne parfaitement, mais sur iOS 11 - après 5 minutes arrêt du joueur – Genevios

+0

J'ai répondu à votre préoccupation dans la section "Réponse" parce que dans la zone de commentaire, il est difficile de résoudre votre problème. –

Répondre

13

Cette erreur ne devrait pas être liés à l'utilisation de HTTP au lieu de HTTPS. Les échecs de sécurité du transport de l'application renvoient le code d'erreur -1022.

Le code d'erreur -1002 indique une URL non valide. Peut-être que votre fichier de playlist HTTP en direct contient une URL structurellement invalide (par exemple un schéma manquant, un schéma autre que http/https, etc.)?

Pour le débogage supplémentaire, définissez cette variable d'environnement

CFNETWORK_DIAGNOSTICS=1 

dans votre projet Xcode et relancer l'application. Une fois que vous savez quelle URL échoue, le problème deviendra probablement plus évident.

Si ce n'est pas le cas, envoyez un bogue.

+0

Ce n'est pas la solution de travail, après cette ligne de toute façon j'ai journal TIC .. – Genevios

+0

Que dit le journal? – dgatwood

+0

tic lire le statut [58: 0x0]: 1:57 je sais très bien que ce n'est pas erreur mais très ennuyeux chaque fois avant de commencer à montrer cette ligne – Genevios

0

Première chose que vous devez utiliser un serveur sécurisé (serveur avec certificat valide). Je ne suis pas sûr que ce soit nécessaire ou non parce que je n'ai jamais essayé de frapper le serveur avec un certificat invalide. Vous pouvez essayer ce code (pas sûr qu'il fonctionnera pour vous ou non) mettre ce code dans Appdelegate.m

@implementation NSURLRequest(DataController) 
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host 
{ 
    return YES; 
} 
@end 
+0

Je vais essayer cela après 2-3 jours et répondre, si ça va, je vais accepter votre réponse, mais de toute façon merci! – Genevios

+3

C'est une très, très mauvaise idée. Cela désactive toute sécurité de demande d'URL pour l'ensemble de votre application, et votre application sera rejetée depuis l'App Store iOS si vous l'essayez. – dgatwood