macOS Catalina 10.15.2
Xcode 11.3 斯威夫特 5
在 Widget 中执行的以下代码在完成时始终返回“false”:
extensionContext?.open(myAppUrl, completionHandler: { (success) in
if (!success) {
os_log("Failed to open app from Today Extension", log: OSLog.mylogs, type:.error )
}
包含小部件扩展的主应用程序位于 Applications 文件夹中,可以通过 Automator 工作流程中的“打开 URL”启动。系统日志中没有错误消息。在小部件模拟器和实时 Today/Notification 应用程序下启动尝试失败。否则,主应用程序和 wiidget 将按预期工作。
这个问题看起来很像这个。
任何建议表示赞赏。
我在 Mojave 系统上得到了相同的结果。在进一步搜索中,我发现了这篇2014 年的文章。此代码有效:
let sharedApp = NSWorkspace.shared
if !(sharedApp.open(myAppUrl)) {
os_log("Failed to open app from Today Extension", log: OSLog.mylogs, type:.error )
}
Apple 似乎从未在 OSX 中添加代码来支持最新的 Today Widget Extension 文档。