2010-11-26 33 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

相關問題