2

最近、iOS アプリにメールを実装する方法を学びましたが、これが何を意味するのか混乱しています。エラーとコードも添付しました。私がやろうとしているのは、ユーザーに情報を入力UITextFieldしてもらい、送信を押すと、それが私のメールに送信されることです。過去数回実行したときにこれらのエラーが発生しましたが、まだ混乱しています。前もって感謝します!

    Information:Information:Building target 'RPSS' from 'RPSS' with configuration 'Debug' for architecture 'i386' using 'Simulator - iOS 4.3' sdk
    Error:Error:The following build commands failed:
    Error:Error:RPSS:
    Error:Error:Ld "/Users/abowmanj/Documents/Xcode projects/RPSS/build/Debug-               iphonesimulator/RPSS.app/RPSS" normal i386
    Error:Error:Build Finished with Error: 1
    Undefined symbol '_OBJC_CLASS_$_MFMailComposeViewController' referenced from:
    Error:Error:objc-class-ref-to-MFMailComposeViewController in RPSSViewController.o
    Error:Error:objc-class-ref-to-MFMailComposeViewController in SupportPage.o
    build/Debug-iphonesimulator/RPSS.app/RPSS
    Information:Information:ld: symbol(s) not found
    Information:Information:collect2: ld returned 1 exit status

コード:

-(void) showEmailModalView {
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;// <- very important step if you want feedbacks on what the user did with your email sheet

    [picker setSubject:@"Comments, Suggestions, Etc."];

    // Fill out the email body text
    NSString *emailBody = [NSString stringWithFormat: @"%@", supportInput.text];

    [picker setMessageBody:emailBody isHTML:YES]; // depends. Mostly YES, unless you want to send it as plain text (boring)

    picker.navigationBar.barStyle = UIBarStyleDefault; // choose your style, unfortunately, Translucent colors behave quirky.

    [self presentModalViewController:picker animated:YES];
    [picker release];
 }

 - (void)mailComposeController:(MFMailComposeViewController*)controller     didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
    if (result == MFMailComposeResultSent) {
        UIAlertView *sentMail = [[UIAlertView alloc] initWithTitle: @"Mail Sent:" message: @"Your mail has been sent!" delegate: self cancelButtonTitle: nil otherButtonTitles: @"Close", nil];
        [sentMail show];
        [sentMail release];
    }

    [self dismissModalViewControllerAnimated:YES];
}

-(IBAction) send : (id) sender {
    // We must always check whether the current device is configured for sending emails
    if ([MFMailComposeViewController canSendMail]) {
        [self showEmailModalView];
    }
    else {
        UIAlertView *a = [[UIAlertView alloc] initWithTitle: @"Error" message: @"Device not configured to send mail." delegate: self cancelButtonTitle: nil otherButtonTitles: @"Ok", nil];
        [a show];
        [a release];
     }
}
4

1 に答える 1

3

フレームワークを含める必要がありますMessageUIXcode 4 で「既存のフレームワークを追加する」方法をご覧ください

于 2013-04-29T00:16:44.063 に答える