我是新来的,所以请容忍我。我的问题在以下代码中:
AppleScriptController.h
#import <Foundation/Foundation.h>
#import <Cocoa/Cocoa.h>
@interface AppleScriptController : NSObject
-(void)test;
@endAppleScriptController.m
#import "AppleScriptController.h"
@implementation AppleScriptController
-(void)test{
NSString *path = [[NSBundle mainBundle] pathForResource:@"beep"
ofType:@"scpt"];
NSAppleScript *script2 = [[NSAppleScript alloc]
initWithContentsOfURL:[NSURL fileURLWithPath:path]
error:nil];
[script2 executeAndReturnError:nil];
}
@end( beep.scpt的副本在支持文件中)
main.m
#import <Foundation/Foundation.h>
#import "AppleScriptController.h"
AppleScriptController *myScript = [[AppleScriptController alloc] init];
[myScript test];当我运行它时,我得到以下错误消息:线程1:程序接收信号:"SIGABRT“
NSAppleScript *script2 = [[NSAppleScript alloc]
initWithContentsOfURL:[NSURL fileURLWithPath:path]
error:nil]; Thread 1: Program received signal: "SIGABRT"并获得以下错误代码:
2013年-01-02 23:09:09.269 Test81627:707 *终止应用程序 由于“NSInvalidArgumentException”异常, 原因:'* -NSURL initFileURLWithPath::nil字符串 参数‘ *第一次抛出调用堆栈: ( 0 CoreFoundation 0x00007fff8db7df56 __exceptionPreprocess + 198 1 libobjc.A.dylib 0x00007fff95dfbd5e objc_exception_throw + 43 2 CoreFoundation 0x00007fff8db7dd8a +NSException引发:格式:参数:+ 106 3 CoreFoundation 0x00007fff8db7dd14 +NSException引发:格式:+ 116 4基金会0x00007fff8fd6ae40 -NSURL(NSURL) initFileURLWithPath:+ 78 5基金会0x00007fff8fd6add9 +NSURL(NSURL) fileURLWithPath:+ 47 6 Test8 0x0000000100000d9d -AppleScriptController试验+ 205 7 Test8 0x0000000100000cac main + 108 8 Test8 0x0000000100000c34 start + 52 9?0x00000000000001 0x0 +1 ) 终止调用抛出异常共享库应用加载规则所有 当前语言: auto;当前目标-c (gdb)
当我将m文件更改为initWithSource时,程序运行良好:
NSAppleScript *script1 = [[NSAppleScript alloc] initWithSource:@"beep 10"];
[script1 executeAndReturnError:nil];我在OSX10.7.5上运行XCode 4.2.1
请告诉我哪里出了问题。我确信这是某种新手犯的错误,但我似乎找不到。
感谢您的任何建议!
发布于 2013-01-02 22:39:14
从错误代码:
reason: '* -[NSURL initFileURLWithPath:]: nil string所以在这里:
NSString *path = [[NSBundle mainBundle] pathForResource:@"beep"
ofType:@"scpt"];
NSAppleScript *script2 = [[NSAppleScript alloc]
initWithContentsOfURL:[NSURL fileURLWithPath:path]
error:nil]; 道路是零的。因此,对于所有可能的情况,文件都不在包中。将其添加为项目的目标。
如何做
例如,最后一天,我需要在包中添加鲨鱼的图像,这是如何做到的:

https://stackoverflow.com/questions/14130213
复制相似问题