macOS SwiftUI应用Service不显示问题求助
macOS SwiftUI应用中Service不显示问题
我正尝试在macOS SwiftUI应用中创建Service,运行/System/Library/CoreServices/pbs -dump_pboard命令时能看到我的Service,但在TextEdit或Safari中选中文本时却不显示。
初始实现代码
class AppDelegate: NSObject, NSApplicationDelegate { var statusBarItem: StatusBarItem! func applicationDidFinishLaunching(_ aNotification: Notification) { statusBarItem = StatusBarItem() NSApp.servicesProvider = self NSUpdateDynamicServices() } @objc func processService(_ pboard: NSPasteboard, userData: String?, error: AutoreleasingUnsafeMutablePointer<NSString?>) { guard let items = pboard.pasteboardItems, !items.isEmpty else { return } for item in items { if let string = item.string(forType: .string) { // Handle the string data, e.g., copy it into your app or process it. } } } }
对应的初始Plist配置:
已做调整但问题仍存在
我已将应用移至应用程序文件夹,并更新了代码和Plist:
更新后的代码
class AppDelegate: NSObject, NSApplicationDelegate { var statusBarItem: StatusBarItem! func applicationWillFinishLaunching(_ notification: Notification) { AppMover.moveIfNecessary() } func applicationDidFinishLaunching(_ aNotification: Notification) { statusBarItem = StatusBarItem() NSApp.servicesProvider = self NSUpdateDynamicServices() } @objc func processService(_ pboard: NSPasteboard, userData: String?, error: AutoreleasingUnsafeMutablePointer<NSString?>) { guard let items = pboard.pasteboardItems, !items.isEmpty else { return } for item in items { if let string = item.string(forType: NSPasteboard.PasteboardType(rawValue: "public.utf8-plain-text")) { // Handle the string data, e.g., copy it into your app or process it. } } } }
更新后的Plist配置

内容的提问来源于stack exchange,提问作者narner
相关产品推荐
相关产品推荐

