【问题标题】:macOS App different behaviour between Development and Release versionsmacOS App Development 和 Release 版本之间的不同行为
【发布时间】: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


【解决方案1】:

我刚刚想通了,问题出在链接上,我需要在构建阶段将 webkit 添加到链接库中,现在它可以正常工作了。

【讨论】:

    猜你喜欢
    • 2014-11-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多