在使用UIWebView打开本地PDF文件时,应用程序崩溃了。

3
- (void) viewWillAppear:(BOOL)animated
{

 [super viewWillAppear:animated];

    NSString *path = [[NSBundle mainBundle] pathForResource:@"About" ofType: @"pdf"];

    NSLog(@"%@", path);

    NSURL *targetURL = [NSURL fileURLWithPath:path];

    NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];

    [_webView loadRequest:request];

}

1
你能解释一下它在哪里崩溃了吗?出现了什么错误信息?可能寻址不正确,请提供更多信息。 - nfarshchi
每当我弹出控制器并在其中推送一个带有Web视图作为IBOutlet的视图控制器时,我都有一个导航控制器。我猜这会导致上面的代码崩溃,但是当我注释掉上面的代码时,它就可以顺利运行。 - Slim Shaddy
这正是我展示PDF的方式。你能详细说明一下错误信息吗? - Juan González
7月16日15:48:45未知com.apple.debugserver-64 [579] <警告>:3 [0243/0303]:错误::mach_vm_read(task = 0x1603,addr = 0x00000000,size = 512,data => 0x00000000,dataCnt => 0)err =(os / kern)无效地址(0x00000001)。这是我在设备日志中得到的内容。 - Slim Shaddy
3个回答

0

只需使用以下代码在 Web 视图中打开 PDF

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"About" ofType:@"pdf"]; 
[self.webVctr loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]];

检查一下PDF文件是否存在?

这些东西可能会对你有所帮助

愉快的编程..


你可以创建WebView控制器的属性吗? - Nimit Parekh
我没有创建webview控制器的属性。我不需要从类外访问它,那么为什么我需要创建任何控制器或变量的属性呢?我只是使用UIWebView的IBOutlet,它连接到nib文件的控件上。 - Slim Shaddy
请你能否把错误日志展示给我,然后我才能理解问题。:( - Nimit Parekh
7月16日15:48:45未知com.apple.debugserver-64 [579] <警告>: 3 [0243/0303]: 错误::mach_vm_read(task = 0x1603,addr = 0x00000000,size = 512,data => 0x00000000,dataCnt => 0)err =(os / kern)无效地址(0x00000001)。这是我在设备日志中得到的内容。 - Slim Shaddy
据我理解,问题不在于webview pdf的加载,而是其他方面出了问题...首先请注释掉所有pdf加载调用并运行应用程序,然后让我知道问题所在。 - Nimit Parekh
让我们在聊天中继续这个讨论:http://chat.stackoverflow.com/rooms/13929/discussion-between-neon-samuel-and-slim-shaddy - Nimit Parekh

0
尝试这个:

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 200, 200)];

NSString *path = [[NSBundle mainBundle] pathForResource:@"About" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

[self.view addSubview:webView];
[webView release];

我已经改变了我的答案,希望这能有所帮助。 - Mutawe

0

这是与通过 Web 视图加载 PDF 无关的其他问题。我进行了交叉检查,并找到了崩溃的实际原因。无论如何,感谢大家的帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接