OSX/Cocoa:在右键菜单和服务列表中设置服务

发布于 2024-12-07 20:41:45 字数 1000 浏览 0 评论 0原文

我已遵循所有 Apple 文档来为右键单击菜单列表和服务列表设置服务:

  1. 我已制作了所有相关的 info.plist 条目。 (发送类型、端口名称、菜单标题、实例方法等)
  2. 我已经创建了处理服务的方法。
  3. 我在应用程序中添加了服务注册码。
  4. 我构建了我的应用程序,将其放入应用程序目录中,注销并重新登录。

尽管如此,我无法在任何菜单项中看到我的服务。

编辑** 这是我的 info.plist 的服务部分:

    <key>NSServices</key>
<array>
    <dict>
        <key>NSMenuItem</key>
        <dict>
            <key>default</key>
            <string>MyApp/Send to MyApp</string>
        </dict>
        <key>NSMessage</key>
        <string>contentService</string>
        <key>NSPortName</key>
        <string>MyApp</string>
        <key>NSSendTypes</key>
        <array>
            <string>NSStringPboardType</string>
            <string>NSFileContentsPboardType</string>
        </array>
    </dict>
</array>

我做错了什么?提前致谢。

I have followed all the Apple documentation for setting up a service for a right click menu list and for the services list:

  1. I have made all the relevant info.plist entries. (send types, port name, menu title, instance method, etc.)
  2. I have created the method which handles services.
  3. I have added service registration code in the app.
  4. I built my app, put it in the application directory, logged out and back in.

Despite all this I cannot see my service in any menu item.

EDIT**
Here is the services part of my info.plist:

    <key>NSServices</key>
<array>
    <dict>
        <key>NSMenuItem</key>
        <dict>
            <key>default</key>
            <string>MyApp/Send to MyApp</string>
        </dict>
        <key>NSMessage</key>
        <string>contentService</string>
        <key>NSPortName</key>
        <string>MyApp</string>
        <key>NSSendTypes</key>
        <array>
            <string>NSStringPboardType</string>
            <string>NSFileContentsPboardType</string>
        </array>
    </dict>
</array>

What am I doing wrong? thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱人如己 2024-12-14 20:41:45

我已遵循所有 Apple 文档来设置服务......

啊,这就是问题所在:你停在那里了。 您还需要将 NSRequiredContext 键添加到您的服务,以使其在 Snow Leopard 及更高版本上默认启用。

幸运的是,虽然服务文档没有提到 NSRequiredContext 是必需的,信息属性列表关键参考确实解释了您必须为其提供的值

I have followed all the Apple documentation for setting up a service…

Ah, that's the problem: You stopped there. You also need to add the NSRequiredContext key to your service to get it to be enabled by default on Snow Leopard and later.

Fortunately, while the Services documentation doesn't mention that NSRequiredContext is required, the Information Property List Key Reference does explain the value you must provide for it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文