通过 Catalyst 工具 Xcode 11 从 Bundle for MacOS App 加载 WKWebView 中的 PDF
Posted
技术标签:
【中文标题】通过 Catalyst 工具 Xcode 11 从 Bundle for MacOS App 加载 WKWebView 中的 PDF【英文标题】:Loading PDF in WKWebView from Bundle for MacOS App through Catalyst Tool Xcode 11 【发布时间】:2019-10-16 10:55:18 【问题描述】:我正在使用 WKWebView 从包中加载 PDF 文件,它在 iPad 设备和模拟器中都可以正常工作,但是当我在 Mac Catalyst 的帮助下为 Mac OS 应用程序调试相同的代码时,它只显示空白白屏在 Mac App Simulator 中,什么也没有发生。
这是我从 Bundle 加载 pdf 的代码:-
import UIKit
import WebKit
class ViewController: UIViewController,WKNavigationDelegate
@IBOutlet weak var webKit: WKWebView!
override func viewDidLoad()
super.viewDidLoad()
if let pdf = Bundle.main.url(forResource: "sample", withExtension: "pdf", subdirectory: nil, localization: nil)
let req = NSURLRequest(url: pdf)
webKit.load(req as URLRequest)
它会在控制台中抛出此错误:-
无法创建“com.apple.iphone.axserver-systemwide”沙盒扩展
即使我已经配置了应用沙箱:-
Have a look here
我正在使用 - Xcode 11.1 - macOS 10.15
【问题讨论】:
目前,WKWebView 的 macOS 和 ios 实现是不同的。对于 WKWebView,macOS Catalyst 可能仍然使用 macOS 实现。 WWDC 2019 演示文稿提到了一些框架在 macOS 和 iOS 之间是通用的,而其他框架则不是。 【参考方案1】:WKWebView 不会(当前)在 macOS 上使用 Catalyst 显示 PDF。使用 PDF 视图。
【讨论】:
你有这个来源吗?我想知道这是否是 Apple 可能会修复的错误,或者他们不会支持的错误。 @arlomedia WKWebView 存在于 UIKit 和 AppKit 中,并且 AppKit 版本从未如此出色。会改善吗?谁知道。他们可能一开始没有实现它,因为您应该在 AppKit 中使用 PDFKit。以上是关于通过 Catalyst 工具 Xcode 11 从 Bundle for MacOS App 加载 WKWebView 中的 PDF的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Xcode 成功签署 Mac Catalyst 应用程序
Catalyst 'SwiftUI.AccessibilityNode' 不是已知的可序列化元素
如何在 Mac 上的 Mac Catalyst 应用程序中使用钥匙串?