aar*_*ron 4 automator osx-lion
我想让 OS X 智能地打开gitURL,首先尝试在GitHub 上打开他们的 repo 页面,然后再回到类似GitBox.app 的页面。
我发现这个问题非常有帮助,我创建了一个 Automator 应用程序来包装一个 bash 脚本(它执行所有智能操作),并使用RCDefaultApp将 OS X 设置为使用我的自动程序应用程序打开git://URL。
这不起作用,所以我尝试了一些调试。我将 bash 脚本设置为将其参数输出到/tmp/output.txt,结果该脚本没有获得任何命令行参数。如果我将 OS X 设置为使用此相同的自动机应用程序作为*.txt文件的默认应用程序,bash 脚本会正确获取文件的路径作为第一个参数,但它不适用于 URL。知道如何让它发挥作用吗?
另外,我正在运行 10.7。
编辑:这是 Automator 应用程序的快照:

这是那个简单的 bash 脚本的文本(不是我实际用来打开git://URL 的,但它表明缺少参数:
rm -f /tmp/output.txt
echo $0 >> /tmp/output.txt
echo $* >> /tmp/output.txt
Run Code Online (Sandbox Code Playgroud)
我得到的唯一输出/tmp/output.txt是:
-
Run Code Online (Sandbox Code Playgroud)
它不是这样工作的,因为 OS X 不处理文件、文件夹和 URL,它们只是其他系统(如其他平台)上相关程序的命令行参数。Automator 程序实际上只能处理文件和文件夹。
您需要创建一个基于 AppleScript 的应用程序,它响应open location.
打开 AppleScript 编辑器,并粘贴以下代码(当然要更改脚本):
on open location myURL
do shell script "echo " & myURL & " > /Users/danielbeck/test"
end open location
Run Code Online (Sandbox Code Playgroud)
另存为应用程序。然后选择您刚刚创建的应用程序包,右键单击,显示包内容,并Contents/Info.plist使用文本编辑器(在plutil命令行上使用转换为 XML 后,如果它是二进制文件)或作为 Apple 开发人员工具一部分的默认编辑器进行编辑.
将以下内容添加到其顶级结构中(屏幕截图是它在当前 Xcode 中的样子,XML 是您在文本编辑器中添加的内容):
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>openme</string>
</array>
<key>CFBundleURLName</key>
<string>AppleScript Testing URL</string>
</dict>
</array>
Run Code Online (Sandbox Code Playgroud)
这会将openme://URL 与该应用程序相关联。保存,将程序移动到不同的文件夹并返回以更新 Launch Services,然后通过openme://在 Web 浏览器的地址栏中键入URL来测试它:
当然,您会希望用您的 shell 脚本替换openmebygit和echo调用。
| 归档时间: |
|
| 查看次数: |
2918 次 |
| 最近记录: |