You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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配置截图


已做调整但问题仍存在

我已将应用移至应用程序文件夹,并更新了代码和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配置

更新后的Plist配置截图


内容的提问来源于stack exchange,提问作者narner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 08:50:55