Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

error: address doesn't contain a section that points to a section in a object file

Tags:

objective-c

Hi i have searched here on the forum but no help found so i am posting it new. Here is the scenario, i am creating a mfmailcomposeviewcontroller in the main rootviewcontroller, i am displaying it by calling presentviewcontroller but when it is dismissed i get this error :

error: address doesn't contain a section that points to a section in a object file

The code i am using is given below:

-(void) mailButtonTapped
{

if ([MFMailComposeViewController canSendMail]) {

    mailViewController_ = [[MFMailComposeViewController alloc] init];
    mailViewController_.mailComposeDelegate = self;
    [mailViewController_ setSubject:@"Try ..."];
    [mailViewController_ setMessageBody:@"Hey I just tried ..." isHTML:NO];
    NSData *videoData = [NSData dataWithContentsOfURL:movieURL_];
    [mailViewController_ addAttachmentData:videoData mimeType:@"video/quicktime" fileName:@"Video.mov"];
    [self presentViewController:mailViewController_ animated:YES completion:nil];

}

else {

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Sharing Not Possible" message:@"Configure your mail to send the mail" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [alertView show];
    [alertView release];

    }
}

-(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{

NSString *title = @"Email";
NSString *msg = nil;

if (result == MFMailComposeResultFailed)
    msg = @"Unable to send, check your email settings";
else if (result == MFMailComposeResultSent)
    msg = @"Email Sent Successfully!";
else if (result == MFMailComposeResultCancelled || result == MFMailComposeResultSaved)
    msg = @"Sending Cancelled";

UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:title message:msg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
[alertView release];

[self dismissViewControllerAnimated:YES completion:nil];

}

After dismissing i receive the error:

error: address doesn't contain a section that points to a section in a object file

Please help me

like image 387
kashif789us Avatar asked Dec 02 '12 16:12

kashif789us


2 Answers

I also had this error but with another scenario. I had a block property defined with @property (assign, nonatomic).

To fix this issue, I declared my block property with @property (copy, nonatomic).

Cheers

like image 184
MartinMoizard Avatar answered Nov 15 '22 07:11

MartinMoizard


This error happens when an object / pointer is being accessed that doesn't exist anymore . And can also cause other bad access, 0x00000 value accessed etc.. errors.

So you are deleting/releasing a pointer , and then accessing later .

From looking at the code, and this is just a guess without debugging, you set the second AlertView's delegate to self, but then immediately dismiss the viewcontroller.

Try dismissing after the alert view is dismissed or the button is pressed, or maybe just setting the AlertView delegate to nil.

Even if that's not exactly the error, the main reason is somewhere you are releasing an object then trying to call a function or access it.

like image 34
Brian Publik Avatar answered Nov 15 '22 06:11

Brian Publik