Sigabrt on Main function
I've just began to learn iOS development and now I have a sigabrt on my main function. The error is triggered by calling:
开发者_开发百科 int retVal = UIApplicationMain(argc, argv, nil, nil);
As I am very new to iOS programming I have no idea on what could by causing this error. One thing that I have found on my callstack is the following exception being raised: dyld_stub_objc_exception_throw What could be causing this error?
I was having this problem in X-Code 4.2 and the issue was it couldn't find my Storyboard. The frustrating part was that there was no indication of what the actual exception was. I was able to get the exception in the log by adding a try / catch to my main function. (Note I'm using ARC, so if you aren't using ARC your main will look a little different with try catch)
int main(int argc, char *argv[])
{
int retVal = 0;
@autoreleasepool {
NSString *classString = NSStringFromClass([sortaAppDelegate class]);
@try {
retVal = UIApplicationMain(argc, argv, nil, classString);
}
@catch (NSException *exception) {
NSLog(@"Exception - %@",[exception description]);
exit(EXIT_FAILURE);
}
}
return retVal;
}
UIApplicationMain
basically kicks off the rest of your application, so the actual cause of the crash could be anywhere in your application. You may need to look further down the call stack.
However, I note that you're passing nil
as the final two parameters. The first nil
is the principalClassName
argument, which can legally be nil if you want UIApplication
to be the principal class. The second nil
is the application delegate name; you should pass nil
if you load the delegate from the main nib. Do you? If you don't, that might be the problem (I can't say I've ever called this function with both of those arguments nil
).
It was just a typical error of someone learning a new language/API. I forgot to properly set up the view.
UIView *controllersView = [myViewController view];
[window addSubview:controllersView];
精彩评论