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

时间:2011-11-25 11:36:48

标签: objective-c macos cocoa

在Snow Leopard上,默认情况下禁用第三方服务。有没有办法以编程方式启用它?我尝试使用NSRequiredContext并通过编程方式编辑pbs.plist,如下面的帖子所示 How do I automatically activate an item in the OS X Services MenuNSServices not working但它不适合我。

1 个答案:

答案 0 :(得分:1)

我在使用我的应用程序时遇到了一些麻烦。调试时,尝试在应用启动时调用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>