Я выкопал, как я это сделал.Это работает для леопарда и старше: это оболочка приложения какао для команд оболочки.Для снежного барса вы можете сделать это напрямую для сценариев Apple.
- xcode -> новый проект ... -> Приложение -> Приложение какао
- (правая панель) NIB Files ->(щелкните правой кнопкой мыши) Добавить -> Новый файл -> Какао -> Класс Objective C -> "runScript.m"
- изменить файл runScript.h (правая панель):
#import Cocoa/Cocoa.h // add gt and lt (does not show here)
@interface runScript : NSObject {}
-(IBAction)runHello:(id)sender;
@end
- изменить 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];
}
- Файлы NIB -> MainMenu.xib (двойной щелчок открывает конструктор интерфейса)
- конструктор интерфейса -> инструменты ->библиотека (страница-объектов) -> библиотека-какао- "объекты и контроллеры" -> объект (перетащите этот синий куб в окно Main Menu.xib)
- выберите объект (который вы только что добавили) ->конструктор интерфейса -> инструменты -> инспектор идентичности -> класс -> выберите runScript из выпадающего списка (это класс объекта c, который вы создали в 2)
- MainMenu.xib -> (двойной щелчок) MainMenu -> (удалить лишние +) переименовать «file-> new» в file-> runHello
- щелкнуть правой кнопкой мыши runHello -> перетащить кружок рядом с «Actions: runHello »для запуска скрипта -> runHello (в MainMenu.xib)
- В окне Mainmenu.xib: щелкните правой кнопкой мыши« Владелец файла »-> перетащите кружок рядом с dockMenu в MainMenu
- Goвернуться к xcode -> build -> build and go -> сохранить все
Теперь при запуске программы в доке должен быть элемент "file-> runHello".
Вы можетеудалите окно в "Mainmenu.xib".Кроме того, NSTask может выполнять все команды оболочки, а не только скрипты.
В Snow Leopard существует «яблочный скрипт IBAction».И вы можете изменить «Приложение какао» на «Приложение Applescript».
br,
Juha