【发布时间】:2009-10-11 09:21:24
【问题描述】:
我正在尝试使用 system() 在我的 Cocoa 应用程序中运行一个 AppleScript;函数 - 我传递给函数的字符串在终端中工作,applescript 本身很好,我认为它与 NSString 有关 - 任何人都可以帮忙吗?
//add to login items
NSLog(@"add to login");
NSString *pathOfApp = [[NSBundle mainBundle] bundlePath];
NSString *theASCommandLoginItem = [NSString stringWithFormat:@"/usr/bin/osascript -e 'tell application \"System Events\" to make login item at end with properties {path:\"%@\"}'", pathOfApp];
system(theASCommandLoginItem);
NSLog(theASCommandLoginItem);
这是输出:
2009-10-11 20:09:52.803 会说话的 Cloud Notifier[3091:903] 添加到登录 sh:\340HH:找不到命令 2009-10-11 20:09:52.813 会说话的 云通知器[3091:903] /usr/bin/osascript -e '告诉 应用程序“系统事件”制作 带有属性的登录项 {path:"/Users/csmith/Desktop/The 会说话的云通知程序/构建/调试/The Talking Cloud Notifier.app"}'
在编译时,我还收到一条警告:
警告:传递参数 1 来自不兼容指针的“系统” 输入
【问题讨论】:
标签: objective-c cocoa terminal applescript system