Search code examples
iphoneipadsignalssigabrt

I have an error in main.m "Thread 1: signal SIGABRT" How can I fix this?


My code in the main.m file is as follows. I haven't changed it at all from when I started programming this app.

#import <UIKit/UIKit.h>

#import "rickAppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([rickAppDelegate class]));
    }

}

I am getting the SIGABRT error on the 'return UIApplicationMain' line. My program is an app which displays a red button and when you press it, it plays a video. This error appeared after I implemented iAds using this tutorial: http://www.ioslearner.com/implement-iads-tutorial-iphone-ipad-sdk/

It worked at first, but then I started receiving the SIGABRT error. I have done a lot of searches and cannot figure out how to fix this, In all the websites, someone asks this and then figures it out themselves or through a very vague answer which I am not able to understand. Please Help! If you answer, could you please be specific as to what I have to do. If required I can post my entire code. Thanks in advance!


Solution

  • When you get SIGABRT on that line of main, it means that your program has raised an exception. The stack trace shows where the exception is being caught, not where it's being raised. Usually this is not helpful.

    To debug the problem, you can do two things:

    1. Click the “Continue Program Execution” button in the debugger control bar, or choose Program > Debug > Continue from the menu bar. This will let the program continue the exception-raising process. It will print a message to the debugger console that will help you understand what's wrong. (You may have to continue execution a couple of times before it actually prints messages.) Read the messages carefully! They usually contain helpful information.

    2. Set an exception breakpoint. This will make Xcode stop your program at the point where the exception is being raised, so you can see the code and the stack trace that is causing the problem.