Macos ';添加到阅读列表';共享菜单项不存在';我不在莫哈韦工作
以下代码在莫哈韦不再有效:Macos ';添加到阅读列表';共享菜单项不存在';我不在莫哈韦工作,macos,cocoa,appkit,macos-mojave,Macos,Cocoa,Appkit,Macos Mojave,以下代码在莫哈韦不再有效: if let url = URL(string: "https://apple.com"), let listService = NSSharingService(named: NSSharingService.Name.addToSafariReadingList), listService.canPerform(withItems: [url]) { listService.perform(withItems: [url]) } 代码在应
if let url = URL(string: "https://apple.com"),
let listService = NSSharingService(named: NSSharingService.Name.addToSafariReadingList),
listService.canPerform(withItems: [url])
{
listService.perform(withItems: [url])
}
代码在应用程序中执行时没有任何错误,但没有向Safari阅读列表中添加任何内容
许多提供“添加到阅读列表”共享菜单项的非苹果应用程序都遇到了同样的问题:Safari阅读列表中没有出现任何新内容
在控制台中,我看到一些错误,表明它与Mojave中引入的AppleeEvent沙盒有关。因此,我在Info.plist中添加了一个带有说明的nsappleeventsagedescription
项,但没有成功
有人知道如何解决此问题吗?作为临时解决办法,在苹果解决此“问题”之前,您可以使用以下代码:
if #available(macOS 10.14, *) { // Don't use the workaround on earlier macOS versions
let pasteboard = NSPasteboard.init(name: .general)
pasteboard.clearContents()
pasteboard.setString(url.absoluteString, forType: .string)
NSPerformService("Add to Reading List", pasteboard)
}
这个问题似乎在macOS 10.14.4中得到了解决