【问题标题】:Contextual Menu Item development for OSX (Leopard and Snow Leopard)OSX(豹和雪豹)的上下文菜单项开发
【发布时间】:2010-01-16 10:23:38
【问题描述】:

我想知道创建上下文菜单项的最佳实践是什么,该菜单项可以在豹和雪豹中使用,并且可以与选择的文件和/或文件夹一起使用,将它们发送到 shellscript。

我知道上下文菜单项在 SL 中已被弃用 - 但这是否意味着无法创建适用于 Leopard 和 Snow Leopard 的解决方案(使用 applescript 或 xcode 或 automator)?

基本上我想将文件/文件夹提供给一个 shellscript,该脚本会从中创建不同的压缩档案(rar、zip、tbz2)。

感谢您的帮助!

【问题讨论】:

    标签: cocoa macos osx-snow-leopard applescript osx-leopard


    【解决方案1】:

    实际上并没有一种方法可以创建在 Leopard 和 Snow Leopard 中都可以使用的整体代码。

    但是,您可以为 Snow Leopard 创建一个服务,然后为 Leopard 创建一个仅调用该服务的 Finder 上下文菜单。

    这样,您可以在 Cocoa 中将大部分实现作为服务的一部分进行,并且仅在无法“本地”使用该服务的系统上使用 Finder 上下文菜单部分。

    【讨论】:

    • 这是一个非常好的方法!感谢您的回答!你能告诉我更多关于 Leopard 和 SL 的服务吗?所以这意味着我可以在 Leopard 上创建同样适用于 Snow Leopard 的服务?
    • 您应该能够在 Leopard 上创建同样适用于 Snow Leopard 的服务,但不能利用所有新的服务功能。有关创建服务的详细信息,请查看 Mac OS X 开发中心,尤其是 AppKit 发行说明。
    【解决方案2】:

    如果不使用 Automator 服务(10.4 或更高版本)或新检修的服务系统(仅限 10.6),您将不得不离开舒适的 Cocoa 世界:

    SampleCMPlugIn

    【讨论】:

    • 我不完全理解你的回答:为什么你的意思是“离开可可世界”然后发布一个 xcode 片段?
    • SampleCMPlugin 使用的是 Carbon,而不是 Cocoa。可可没有办法做到这一点。至于“发布一个 xcode 片段”,我不知道你的意思。如果您的意思是示例代码,我已经这样做了。没有给你一个完整的插件,这是一个完整的例子。
    【解决方案3】:

    您可以制作一个 AppleScript 应用程序,该应用程序接受将文件/文件夹拖放到它上面。

    您也可以让 Automator 应用程序接受拖放文件。

    两者都应该适用于 Leopard 和 Snow Leopard。至少在 Snow Leopard 上,您可以设置一个新的服务菜单项,指向特定的应用程序来处理选择。这是通过键盘首选项面板完成的。

    【讨论】:

    • 您是否有一个适用于 Leopard 和 Snow Leopard 的拖放式 AppleScript 应用程序示例?
    猜你喜欢
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 2011-03-05
    相关资源
    最近更新 更多