objective-c - 如何默认启用第三方服务?

标签 objective-c macos cocoa

在 Snow Leopard 上,默认情况下禁用第三方服务。有什么方法可以以编程方式启用它吗?我尝试使用 NSRequiredContext 并通过以编程方式编辑 pbs.plist,如以下帖子中所示 How do I automatically activate an item in the OS X Services Menu , NSServices not working但它对我不起作用。

最佳答案

我在让它在我的应用程序中工作时也遇到了一些麻烦。调试此问题时,请尝试在应用启动时调用 NSUpdateDynamicServices() 并确保您正在注册服务提供商。问题可能是您的服务根本没有注册。您可以使用终端查看哪些服务已注册到 /System/Library/CoreServices/pbs -dump_pboard

示例服务:

<key>NSServices</key>
    <array>
        <dict>
            <key>NSMenuItem</key>
            <dict>
                <key>default</key>
                <string>Open with app</string>
            </dict>
            <key>NSMessage</key>
            <string>processService</string>
            <key>NSPortName</key>
            <string>MyApp</string>
            <key>NSRequiredContext</key>
            <array>
            </array>
            <key>NSSendTypes</key>
            <array>
                <string>NSStringPboardType</string>
                <string>NSRTFPBoardType</string>
                <string>NSURLPBoardType</string>
            </array>
        </dict>
    </array>

关于objective-c - 如何默认启用第三方服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8268550/

相关文章:

objective-c - 如何检查 CGWindowID 是否仍然有效

objective-c - 有没有办法在给定表格中选定单元格的行和列索引的情况下获取 NSCell 对象?

iphone - 函数应该返回 float,但它变得一团糟!

ios - 在一个方法执行完后在另一个方法中调用一个新的View

macos - NSWindowController – 在窗口显示之前收到通知?

macos - 如何从 AXMenu 获取 AXMenuItems 数组?

objective-c - 在多个 NSTextView 中顺序选择

objective-c - 具有内存存储的核心数据

ios - 如何在 ARC 上发布 GADBannerView?

xcode - 如何使用 osascript 在 SwiftUI 中以管理员权限运行 shell 脚本