WebKit视图无法加载PDF文件求助(已开启HTTPS协议)
解决WebKit无法加载HTTPS PDF的问题
嘿,我一眼就发现你代码里的关键问题啦!你现在用URL(fileURLWithPath:)来创建网络PDF的URL,但这个方法是专门用来处理本地文件路径的,完全不适合用来创建HTTPS的网络URL——这就是WebKit加载失败的核心原因。
修正步骤
- 替换URL初始化方法:把
URL(fileURLWithPath:)换成URL(string:),这个方法才是专门处理HTTP/HTTPS这类远程网络地址的。 - 安全处理可选值:避免强制解包
urlstring,用可选绑定来保证代码的稳定性,防止空值崩溃。
修正后的代码
import UIKit import WebKit class ReaderViewController: UIViewController { var urlstring : String? @IBOutlet weak var WEBVIEW: WKWebView! override func viewDidLoad() { super.viewDidLoad() // 安全处理传入的urlstring,同时使用正确的URL初始化方式 if let urlStr = urlstring, let url = URL(string: urlStr) { print(urlStr) let request = URLRequest(url: url) WEBVIEW.load(request) } else { // 如果urlstring为空或者URL创建失败,可在这里添加错误提示逻辑 print("无效的PDF地址,请检查链接是否正确") } } }
额外注意事项
- 因为你使用的是HTTPS链接,默认App Transport Security(ATS)是允许加载的,不需要额外配置
Info.plist;但如果PDF所在服务器的SSL证书存在异常,可能需要添加ATS例外(不过先解决URL初始化问题,这是当前最优先的)。 - 确保你的
WKWebView已经正确连接到Storyboard/XIB的IBOutlet,避免因控件未绑定导致的nil加载失败。
内容的提问来源于stack exchange,提问作者Abhishek Jaguwala
相关产品推荐
相关产品推荐

