그래서 오전 데 문제는 내가 비디오 이런 식으로로드하려고하면내가 SIGABRT 받고 있어요 (목표 - C)
-(void) viewDidLoad
{
MyManager *sharedManager = [MyManager sharedManager];
[super viewDidLoad];
NSString *tempName = sharedManager.vidName;
NSLog(@"%@", tempName);
//This is where the problem is being caused
NSString *url = [[NSBundle mainBundle] pathForResource:tempName ofType:@"mp4"];
//This is where I'm getting the SIGABRT thrown
MPMoviePlayerController* theMovie = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallBack:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie];
theMovie.scalingMode = MPMovieScalingModeAspectFit;
[theMovie.view setFrame:self.view.bounds];
[self.view addSubview:theMovie.view];
[theMovie play];
}
나는 SIGARBT을 얻고을 NSException으로 인해 코드에서 지정한 곳에서 throw됩니다. 그러나 단순히 문자열을 다음과 같이 작성하면
- (void)viewDidLoad
{
MyManager *sharedManager = [MyManager sharedManager];
[super viewDidLoad];
NSString *tempName = sharedManager.vidName;
NSLog(@"%@", tempName);
//This is the line I changed
NSString *url = [[NSBundle mainBundle] pathForResource:@"vid_name" ofType:@"mp4"];
MPMoviePlayerController* theMovie = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallBack:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie];
theMovie.scalingMode = MPMovieScalingModeAspectFit;
[theMovie.view setFrame:self.view.bounds];
[self.view addSubview:theMovie.view];
[theMovie play];
}
코드가 제대로 작동합니다. 문제는 무엇이 될 수 있습니까? NSLog tempName이 올바른 문자열을 보유하고 있는지 확인합니다. 또한 sharedManager.vidName은 NSMutableString입니다. 이것은 내 고위 프로젝트를 끝내고 졸업하는 대학에서 저를 붙들어 놓은 유일한 문제입니다. 그래서 어떤 도움도 크게 감사 할 것입니다. 고맙습니다.
2012-03-26 22:04:52.115 SeniorProject[20502:207] Barbell Incline Bench Press - Medium Grip
2012-03-26 22:04:52.120 SeniorProject[20502:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'
*** Call stack at first throw:
(
0 CoreFoundation 0x00fb15a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x01105313 objc_exception_throw + 44
2 CoreFoundation 0x00f69ef8 +[NSException raise:format:arguments:] + 136
3 CoreFoundation 0x00f69e6a +[NSException raise:format:] + 58
4 Foundation 0x007e3ab6 -[NSURL(NSURL) initFileURLWithPath:] + 90
5 Foundation 0x007e3a44 +[NSURL(NSURL) fileURLWithPath:] + 72
6 SeniorProject 0x000105f4 -[Video viewDidLoad] + 420
7 UIKit 0x000ef089 -[UIViewController view] + 179
8 UIKit 0x000ed482 -[UIViewController contentScrollView] + 42
9 UIKit 0x000fdf25 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 48
10 UIKit 0x000fc555 -[UINavigationController _layoutViewController:] + 43
11 UIKit 0x000fd870 -[UINavigationController _startTransition:fromViewController:toViewController:] + 524
12 UIKit 0x000f832a -[UINavigationController _startDeferredTransitionIfNeeded] + 266
13 UIKit 0x000ff562 -[UINavigationController pushViewController:transition:forceImmediate:] + 932
14 UIKit 0x000f81c4 -[UINavigationController pushViewController:animated:] + 62
15 SeniorProject 0x00005998 -[ExerciseList goToVideo:] + 328
16 UIKit 0x0003f4fd -[UIApplication sendAction:to:from:forEvent:] + 119
17 UIKit 0x000cf799 -[UIControl sendAction:to:forEvent:] + 67
18 UIKit 0x000d1c2b -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
19 UIKit 0x000d07d8 -[UIControl touchesEnded:withEvent:] + 458
20 UIKit 0x00063ded -[UIWindow _sendTouchesForEvent:] + 567
21 UIKit 0x00044c37 -[UIApplication sendEvent:] + 447
22 UIKit 0x00049f2e _UIApplicationHandleEvent + 7576
23 GraphicsServices 0x011ea992 PurpleEventCallback + 1550
24 CoreFoundation 0x00f92944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
25 CoreFoundation 0x00ef2cf7 __CFRunLoopDoSource1 + 215
26 CoreFoundation 0x00eeff83 __CFRunLoopRun + 979
27 CoreFoundation 0x00eef840 CFRunLoopRunSpecific + 208
28 CoreFoundation 0x00eef761 CFRunLoopRunInMode + 97
29 GraphicsServices 0x011e91c4 GSEventRunModal + 217
30 GraphicsServices 0x011e9289 GSEventRun + 115
31 UIKit 0x0004dc93 UIApplicationMain + 1160
32 SeniorProject 0x00001b39 main + 121
33 SeniorProject 0x00001ab5 start + 53
)
terminate called after throwing an instance of 'NSException'
SIGABRT가 있으면 로그에 뭔가가 있습니다. 그걸 게시해라. – CodaFi
@CodaFi : 지금 편집에 넣을 게요 –