【问题标题】:How to enable third party service by default?如何默认启用第三方服务?
【发布时间】:2011-11-28 13:48:44
【问题描述】:

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

【问题讨论】:

    标签: objective-c macos cocoa


    【解决方案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>
    

    【讨论】:

    • 我可以在终端和系统首选项中看到我的服务 --> 键盘 --> 服务。但默认情况下不选中。我想像邮件服务一样默认启用它。
    • 好的。我更新了我的帖子,其中包含我的应用中默认启用的服务示例。
    • 它现在与 NSRequiredContext Dict 中的 NSApplicationIdentifier 键一起工作。
    猜你喜欢
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多