【发布时间】:2019-11-21 01:27:58
【问题描述】:
我创建了一个 macOS 应用程序,按下按钮后,它会启动另一个带有 WKWebView 的 NSWindow。在开发应用程序并通过 Xcode 中的“运行”按钮启动它时,WKWebView 可以正常加载并显示网页。但是,当我将应用程序存档并将其导出为 .app 文件并独立于 Xcode 运行它时,它不会加载 WKWebView 并且只显示一个空的 NSWindow。
有谁知道这可能是什么问题?
非常感谢和最好的问候
编辑:
我测试了启动另一个带有 ViewController 和简单标签的 NSWindow。这工作正常。代码如下:
myWindow = NSStoryboard(name: NSStoryboard.Name("Main"), bundle: nil).instantiateController(withIdentifier: "testWindow") as? NSWindowController
myWindow?.showWindow(self)
一旦我用空的 WKWebView 替换标签,应用程序现在在没有 Xcode 的情况下进行测试时会崩溃。在 Xcode 中它可以正常启动。
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000017781d5f58a0
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [5905]
VM Regions Near 0x17781d5f58a0:
__LINKEDIT 0000000114a12000-0000000114a39000 [ 156K] r--/rwx SM=COW /usr/lib/dyld
-->
MALLOC_NANO 0000600000000000-000060000339a000 [ 51.6M] rw-/rwx SM=ZER
【问题讨论】:
-
你为什么要否决我的问题?如果您需要更多详细信息,请告诉我,或者如果问题对您来说太明显,请帮助我...
-
请添加Wkwebview的方法didFailNavigation:withError和didFailProvisionalNavigation:withError来检测真正的错误。也许您没有在 plist 文件中向任意 url 添加权限
-
@christianmini 感谢您的回答,我刚刚想通了。这是一个链接问题,我需要在构建阶段将 webkit 添加到链接库中,现在它可以正常工作了。
标签: swift xcode macos wkwebview nswindow