2017-07-21 5 views
0

Je suis nouveau dans iOS et quand j'ouvre PDF en UIWebView Je reçois un avertissement comme ça dans la console.Impossible de charger le fichier PDF sur Webview avec avertissement void SendDelegateMessage (NSInvocation *)

void SendDelegateMessage(NSInvocation *): delegate (webView:didFirstLayoutInFrame:) failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode 

2017-07-11 16:55:38.304119+0530 appname[1334:540218] libMobileGestalt MobileGestalt.c:550: no access to InverseDeviceID (see <rdar://problem/11744455>) 

Voici le code ci-dessous pour ouvrir un fichier PDF sur Webview de NSBundle

visionweb.delegate=self; 

NSURL *targetURL = [[NSBundle mainBundle] URLForResource:@"a0" withExtension:@"pdf"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; 

[visionweb loadRequest:request]; 

[self.view addSubview:visionweb]; 

Ici VisionWeb est mon objet UIWebView.

J'ai essayé d'ouvrir un autre fichier PDF en utilisant le même code et j'ai pu les ouvrir. Mais quand j'essaye d'ouvrir ce dossier particulier, il montre le message ci-dessus sur la console.

Les deux méthodes de délégué

  1. - (void)webViewDidStartLoad:(UIWebView *)webView; et
  2. - (void)webViewDidFinishLoad:(UIWebView *)webView;

est appelée lorsque je tente d'ouvrir un autre fichier PDF.

Mais quand j'essaie d'ouvrir ce fichier PDf particulier, il appelle seulement la première méthode de délégué, c'est seulement -(void)webViewDidStartLoad:(UIWebView *)webView; qui est appelée, et pas l'autre. Je ne suis pas capable de comprendre le problème derrière cela. Je l'ai cherché sur Internet et j'ai trouvé tellement de gens confrontés à ce même problème, mais leur solution ne m'a pas aidé. J'utilise Xcode 6.2.

Répondre

0

Voici une solution. J'ai utilisé le code ci-dessous et ça marche pour moi.

termsWebView.delegate = self; 
NSString *path = [[NSBundle mainBundle] 
pathForResource:@"Terms_of_Use_20170523" ofType:@"docx"]; 

NSURL *url = [NSURL fileURLWithPath:path]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[termsWebView loadRequest:request]; 
+0

@ Jignesh-Oui. J'ai aussi utilisé le même code et son fonctionnement pour d'autres fichiers, mais quand j'essaie d'ouvrir ce fichier -> "a0.pdf", il me donne l'avertissement ci-dessus dans la console. Existe-t-il un autre moyen de charger le pdf sur le webview, ou d'une autre manière de détecter si le contenu de ces fichiers pdf est correct ou non. Sil te plait aide moi. – Muju

+0

NSData * WebData = [NSData dataWithContentsOfURL: URL_sur]; [_webView loadData: WebData Type MIMET: @ "application/pdf" textEncodingName: @ "UTF-8" baseURL: nil]; Essayez ceci! –

+0

Non ne m'aide pas. – Muju