Comment résoudre l'erreur "Frame Load Interrupted" dans UIWebView?
Dans une application que je suis sous contrat pour construire, je suis en tirant une liste de vidéos sur YouTube et en leur permettant d'être affichée dans l'application. Toutefois, lorsqu'un utilisateur appuie sur une cellule dans la vue YouTube de la manette de navigation et le modal vue avec une UIWebView apparaît, la UIWebView renvoie l'erreur "Image de chargement interrompu."
J'ai couru à travers le débogueur des dizaines de fois, et tout semble aller bien jusqu'à ce que j'initialise le NSURLRequest. Lorsque la modale s'affiche, voici le code qui s'exécute dans le ViewController de -viewDidLoad
méthode:
- (void)viewDidLoad
{
[super viewDidLoad];
_webView = [[UIWebView alloc] init];
_webView.delegate = self;
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:_url];
[_webView loadRequest:request];
}
Cependant, quand j'ai tirer vers le haut le débogueur sur la ligne [_webView loadRequest:request];
je vois les suivantes:
Personne ne sait pourquoi la UIWebView est le retour de l'erreur?
source d'informationauteur amarkon
Vous devez vous connecter pour publier un commentaire.
Vous devriez vérifier le chemin d'accès d'URL
Il devrait être @"http://google.com"
au lieu de @"google.com"
J'ai le même problème, dans mon cas, il s'avère être le
MIMEType
pas définies correctement.J'ai testé en créant manuellement un
NSURLConnection
à la demande à partir de l'URL, puis mis en œuvre:d'observer la réponse de rappel à partir de la connexion. La réponse de la
MIMEType
s'est avéré être"pdf/pdf"
au lieu de"application/pdf,"
et dès que je remédier à ce problème la webview chargé de l'url de l'amende juste.Espère que cette aide.
L'url que vous utilisez probablement ne reconnaît pas l'agent de l'utilisateur. C'est une question qui s'est produit dans les anciennes versions iOS trop, mais semble l'avoir retourné dans iOS 7. Essayez d'ajouter ceci à votre appdelegate didFinishLaunchingWithOptions:
Utilisation https://www.google.com Ou http://www.google.com
fait https:// est le mot clé.
La raison pour laquelle le cadre de chargement interrompu d'erreur est affiché, c'est que
www.youtube.com
est d'effectuer une redirection dem.youtube.com
qui UIWebView n'aime pas. À sauvagement de spéculer, je citerai possibles implications en matière de sécurité? J'ai été en mesure de résoudre ce problème en reliant directement sur le site mobile, éliminant le besoin de youtube pour la redirection.Avez-vous fait cela sur le simulateur ou un périphérique réel? J'ai eu le même problème sur la carte sim, mais il a travaillé sur un périphérique 🙂
J'ai fait face à la même question sur iOS 10.2.1 UIWebView.
lors de la demande de fichier pdf avec le chemin d'accès d'URL
le fichier pdf est de type mime "application/x-pdf".
donc j'ai changé pour "application/pdf" et peut lire ce
J'ai eu un problème similaire à ceux qui ont déclaré que l'ajout ou la correction de la type mime résolu le problème. Dans mon cas, j'ai été de tenter de l'ouverture d'un fichier sans l'extension de fichier (par exemple "mon-dir/mon-fichier") et qui a abouti à la redoutable
"Frame Load Interrupted"
d'erreur (avec"Unbalanced calls to begin/end appearance transitions for UIViewController"
). L'ajout de l'extension de fichier (par exemple "mon-dir/mon-fichier.pdf") a corrigé le problème pour moi.Son tout à fait clair.. vous n'êtes pas le "cadre" de WebView.
Utilisez ceci :