si vous ressentez des symptômes de ce que Zach décrites dans les commentaires de Sahil de réponse:
comme y5h dit ainsi, ajouter "_authed = OUI" à la didReceiveResponse méthode qui va arrêter la boucle infinie. même si l'authentification n'a pas été réussie, vous devez le traiter comme si c'était authed donc, il va essayer de continuer le chargement de la page si aucune authentification n'est requise, si l'authentification est vraiment nécessaire, alors il va échouer comme d'habitude.
pour le deuxième problème où le shouldStartLoadWithRequest: les feux à plusieurs reprises (en raison de contenu intégré sur la page web) et il va juste montrer la dernière chose que chargé et pas toute la page web, faites ceci:
dans le shouldStartLoadWithRequest: méthode, ajoutez à cela le top
if(webview.loading){ //if url requests come through while its loading, its probably embedded content
return YES;
}
edit: au-dessus de cette méthode a des problèmes si la page est entièrement chargée, puis de charges de plus de contenu incorporé par la suite, rompt avec facebook qui n'est le cas que j'ai vu jusqu'à présent
cela permettra url par le biais de tout le site web est d'essayer de charger. je ne sais pas si sa peut supposer que chaque url après la demande initiale est de contenu intégré, mais pour mes besoins, il semblait fonctionner, alors peut-être il sera pour vous aussi bien.
aussi, l'utilisation
- (void) connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
parce que
connection:canAuthenticateAgainstProtectionSpace:
connection:didReciveAuthenticationChallenge:
connection:didCancelAuthenticationChallenge:
sont depricated, et pour moi, on ne pouvait pas s'authentifier avec les sites web https à l'aide de leur