我在X-Code(10.2.1(中有一个插件开发项目,并试图将某些AppleScript代码(Fatapple.applescript(合并到我的实现文件中的一种方法中。
在Applescript方面:我尝试在脚本编辑器中编写代码,保存到桌面,拖动fatapple.scptd在"资源","其他来源"等文件夹中。在启动一个新的Xcode项目以供苹果报纸和拖放fatapple.applescript文件(使用PathWithFormat类型尝试为" SCPT"one_answers" AppleScript"。
,我尝试了相同的步骤。在Xcode中,我添加了fatapple.applect。
-(float) calcThing
{
NSAlert *alert=[[[NSAlert alloc] init] autorelease];
NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"FatApple" ofType:@"scpt"];
NSString *countstr=[NSString stringWithFormat:@"path=%@",path];
[alert setMessageText: countstr];
[alert runModal];
NSAppleScript *script = [[NSAppleScript alloc] initWithContentsOfURL:[NSURL fileURLWithPath: path] error:nil];
[script executeAndReturnError:nil];
}
我希望编译并运行插件,在程序中调用它,并收到一条带有我AppleScript的路径的消息,然后理想情况下,我可以调用脚本并开始做事。相反,我收到"路径=(null("。
我将您的代码逐字复制到一个项目中,并且使用虚拟苹果公司对我有用。我看到的唯一区别是,我将AppleScript放到主文件列表中,而不是在资源文件夹中,但这并没有任何区别。该脚本像您一样出现在App Resources文件夹中。
我在代码中看到的唯一可疑的东西是您使用了NSBundle的- pathForResource:ofType:
而不是- URLForResource:withExtension:
。nsapplescript想要一个nsurl,因此要求捆绑包 path ,然后将其转换为URL似乎是不必要的步骤,而不必要的步骤本质上是可疑的。我看不出为什么会有所作为(除非插件上下文对资源文件路径有时髦的事情(,但是,您知道...