2017-06-28 1 views
0

Par exemple, je sais que les URLs comme abc: //wwww.example.com seront traitées par une sous-classe de NSURLProtocol. Mais il provient d'une bibliothèque tierce et je n'ai pas le code source pour modifier la réponse. Donc, je fournis une autre sous-classe de NSURLProtocol pour gérer les urls comme xyz: //www.example.com. Je suis capable d'intercepter et de changer les URL d'abc en xyz. Dans mon propre startLoading(), j'ai changé les urls de xyz en abc et j'utilise NSURLSession pour envoyer une requête à abc: //www.example.com mais j'ai reçu une erreur et j'ai l'impression que la requête ne passe pas par la sous-classe NSURPProtocol tierce.Chaîne NSURLProtocol? Peut-on utiliser une telle chaîne?

une suggestion?

Répondre

0

NSURLProtocol Les sous-classes sont uniquement enregistrées globalement pour NSURLConnection. Pour NSURLSession, l'inscription est par session. Si vous voulez enregistrer un NSURLProtocol de manière à ce qu'il affecte les bibliothèques tierces, la seule façon que je connaisse est de balayer toutes les méthodes de création de session sur NSURLSession et de les encapsuler avec du code qui injecte votre protocole personnalisé dans la configuration sur le chemin po

+0

Ceci est très utile - ne sait jamais il y a une telle différence. Je vous remercie! – Rao