2010-11-26 61 views

回答

0

我翻出我是如何做的。这适用于豹和更老:它是一个shell命令的可可应用程序包装。对于雪豹,你可以直接为苹果脚本。

  1. 的Xcode - >新项目... - >应用程序 - > Cocoa应用程序
  2. (右窗格)NIB文件 - >(右键)添加 - >新建文件 - >可可 - >目标C类 - > “runScript.m”
  3. 修改runScript.h(右窗格):
#import Cocoa/Cocoa.h // add gt and lt (does not show here) 
@interface runScript : NSObject {} 
-(IBAction)runHello:(id)sender; 
@end
  1. 修改runScript.m:
#import "runScript.h" 
@implementation runScript 
-(IBAction)runHello:(id)sender 
{ 
    NSTask *script=[[NSTask alloc] init]; 
    [script setLaunchPath:@"~/Desktop/hello.app/Contents/MacOS/hello"]; 
    [script launch]; 
}
  1. NIB文件 - > MainMenu.xib(双击打开界面生成器)
  2. 界面生成器 - >工具 - >库(对象页) - >库可可 “对象&控制器” - >对象(将这个蓝色立方体拖到Main Menu.xib窗口中)
  3. select Object(你刚才添加的) - > interface builder - > tools - > identity inspector - > class - >从下拉菜单中选择runScript您创建的对象c类2)
  4. MainMenu。xib - >(双击)MainMenu - >(删除额外的+)将文件重新命名为file-> runHello
  5. 右键单击runHello - >将“Actions:runHello”旁边的圆形拖放到运行脚本 - > runHello(在MainMenu.xib)
  6. 在Mainmenu.xib窗口:右键单击 “文件的所有者” - >拖动并在下一个下拉圈dockMenu到MainMenu的
  7. 回去的Xcode - >构建 - >构建和去 - >全部保存

现在dock中的程序在右键单击时应该有“file-> runHello”项。

您可以删除“Mainmenu.xib”中的窗口。 NSTask也可以优先执行所有shell命令,而不仅仅是脚本。

在雪豹中有一个“苹果IBAction”。您可以将“可可应用程序”更改为“Applescript应用程序”。

BR,
尤哈

+0

谢谢你的努力。我*非常感谢你的帮助。 – cria 2010-11-27 06:57:40

0

你不能用Applescript做到这一点。将Applescript保存为应用程序确实只会删除需要脚本编辑器来运行脚本以及其他一些小改动的需求。最后,它仍然只是一个脚本。如果您需要更多功能,那么您应该考虑使用Xcode创建基于AppleScript的应用程序(以前称为Applescript Studio)。

+0

嗯,我想这可能通过编辑的应用程序内容的元数据成为可能。我不介意用XCode来做。我应该使用哪些API调用的任何线索? – cria 2010-11-26 11:47:39

0

和Xcode,请执行下列操作:

  1. NIB-文件 - > MainMenu.xib(双击)。这将打开界面构建器。
  2. 文件 - >新建 - >可可 - > MAINMENU
  3. 链接您MAINMENU的dockMenu“文件的所有者”(第二次点击MAINMENU - >拖放dockMenu圈到文件的所有者)
  4. 双击mainMenu并编辑项目名称。将项目“发送操作”链接到您要执行的操作(与第3项相同)。因为我不记得它excatly如何去

子弹4是有点不稳。我会给你一个进一步阅读的链接:http://cocoadevcentral.com/articles/000036.php。不过,应该不会有任何问题将它与AppleScript链接起来。

如果你能发布一个工作解决方案(当你得到它的工作,我的意思是),我将不胜感激。

BR, 尤哈

+0

只是为了补充一点:我使用的是豹,在雪豹中应该有相同的拖放功能在automator ...真实还是谣言? – Juha 2010-11-26 12:59:00

相关问题