3
votes

Exception de vue Web

Je charge une demande d'URL dans Web View et je reçois parfois l'avertissement suivant dans les journaux. En raison de l'avertissement, webViewDidFinishLoad n'est jamais appelé.

WebKit a rejeté une exception non interceptée dans la vue Web: didFinishLoadForFrame: delegate: tentative de suppression de l'élément 1 de la section 0 qui ne contient que 1 éléments avant la mise à jour.

J'ai ajouté une vue Web dans la cellule d'affichage de la collection.

Toute aide serait très appréciée !!


4 commentaires

avez-vous ajouté NSAppTransportSecurity et NSAllowsArbitraryLoads?


@AtulParmar Oui


Veuillez publier le journal complet, quel est l'avertissement après délégué:


@ andesta.erfan édité.


3 Réponses :


0
votes

Vous devriez essayer la solution suivante pour résoudre votre problème:

  1. Dans le fichier Info.plist , ajoutez un dictionnaire avec la clé ' NSAppTransportSecurity '
  2. Ajouter un autre élément dans le dictionnaire avec la clé ' NSExceptionDomains '
  3. Ajouter un élément avec la clé ' YourDomainName.com ' de type NSDictionary
  4. Ajouter un élément avec la clé « NSIncludesSubdomains » de type Boolean et la valeur définie sur YES
  5. Ajouter un élément avec la clé ' NSTemporaryExceptionAllowsInsecureHTTPLoads ' de type Boolean et la valeur définie sur YES

Il ressemblera à ceci:

 Info.plist

J'espère que cela résoudra votre problème.


0 commentaires

1
votes

Ajoutez un point d'arrêt d'exception. Cela se déclenchera lorsque l'exception sera levée, ce qui vous permettra de voir ce qui se passe.

 Déboguer> Points d'arrêt> Créer un point d'arrêt d'exception…

Il est possible de rencontrer des exceptions interceptées inoffensives qui déclencheront ce point d'arrêt, mais elles sont très rares, donc généralement si ce point d'arrêt se déclenche, c'est un problème légitime. Ne confondez pas ces exceptions avec les lancers de Swift. Ils ne sont pas liés.


4 commentaires

Il ne fait que donner à WebKit une exception non interceptée dans le webView: didFinishLoadForFrame: delegate: Mais l'application ne plante pas.


Compris, mais le point d'arrêt d'exception se déclenche-t-il? De plus, avez-vous implémenté la méthode déléguée webView (_: didFinishLoadFor :)? Cette erreur suggère qu'il y a une erreur là-bas (pas webViewDidFinishLoad)


Oui, le feu Exception Breakpoint. Aussi webViewDidFinishLoad il est déjà ajouté.


Génial; si le point d'arrêt d'exception est déclenché, vous devriez être en mesure de voir ce qui le génère dans le stacktrace.



0
votes

Assurez-vous que vous définissez le délégué de WebView dans l'appel awakeFromNib pour CollectionViewCell. Comment détecter le démarrage d'UIWebView chargement lorsque Webview est dans une cellule de vue de collection?


0 commentaires