8

Ich möchte die iPhones Mail.app in meiner Anwendung verwenden, damit meine Benutzer eine Freigabe-E-Mail senden können, ohne die Anwendung zu verlassen. Ich weiß, dass 3.0 dies möglich gemacht hat.iPhone - MessageUI - Framework nicht gefunden Nachricht

Ich habe das Framework ordnungsgemäß hinzugefügt, indem ich auf meinen Frameworks-Ordner klicke -> bestehendes Framework hinzufügen.

hinzugefügt, um diese in die Header-Datei des Viewcontroller möchte ich die Mail.app in erscheinen.

#import <MessageUI/MessageUI.h> 

ich ein UIAlert Pop-up und beim Schließen rufe ich die Funktion unten, gibt es keine Fehler auftauchen in meinem Code. Muss ich im Interface Builder etwas extra tun? Error Msg Unten finden

-(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 
    NSString * emailSubject = [[NSString alloc] initWithFormat:@"iPhone Subject Test"]; 
    [picker setSubject:emailSubject]; 


    NSString * content = [[NSString alloc] initWithFormat:@"iPhone Email Content"]; 

    // Fill out the email body text 
    NSString *pageLink = @"http://mugunthkumar.com/mygreatapp"; // replace it with yours 
    NSString *iTunesLink = @"http://link-to-mygreatapp"; // replate it with yours 
    NSString *emailBody = 
    [NSString stringWithFormat:@"%@\n\n<h3>Sent from <a href = '%@'>MyGreatApp</a> on iPhone. <a href = '%@'>Download</a> yours from AppStore now!</h3>", content, pageLink, iTunesLink]; 

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

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

    [self presentModalViewController:picker animated:YES]; 
    [picker release]; 
    [content release]; 
    [emailSubject release]; 


} 

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 

Meine Fehlermeldung:

ld: framework not found Message 
collect2: ld returned 1 exit status 

ich dieses Tutorial gefolgt: http://blog.mugunthkumar.com/coding/iphone-tutorial-in-app-email/

+0

Siehe http://stackoverflow.com/questions/3352664/how-to-add-existing-frameworks-in-xcode-4 – Stan

Antwort

18

Nach einigen Recherchen fand ich heraus, dass das Tutorial, das ich verwendete, völlig in Ordnung war! Der Code hatte keine Fehler und mein Problem war die Art, wie ich das MessageUI Framework meinem Projekt hinzugefügt habe.

Falscher Weg. Klicken Sie bei gedrückter Strg-Taste auf den Frameworks-Ordner und wählen Sie Hinzufügen -> vorhandene Frameworks.

Richtiger Weg. Öffnen Sie im Dateifenster auf der linken Seite Ihres xcode-Bildschirms "Ziele" und doppelklicken Sie auf Ihren Projektnamen. Ein neues Fenster wird geöffnet, am unteren Rand des neuen Fensters können Sie eine neue verknüpfte Bibliothek hinzufügen, indem Sie auf das kleine Pluszeichen in der unteren linken Ecke klicken. Scrollen Sie nach unten zu MessageUI und wählen Sie Hinzufügen.

Wenn Sie das MessageUI Framework bereits falsch hinzugefügt haben, löschen Sie es einfach und fahren Sie mit dem richtigen Weg fort. Wenn es immer noch nicht funktioniert, versuchen Sie xcode herunterzufahren, neu zu starten und Ihre Anwendung neu zu erstellen.

Nach vielen Stunden der Suche nach einer Antwort das ist, was für mich gearbeitet hat.

0

Der Linker Befehlszeile ausgegeben wird Ihnen sagen, viel über das, was XCode nutzt, um zu versuchen Erstellen Sie Ihre Binärdatei einschließlich der Include-Pfade und der Frameworks, die der Linker im Build enthält. Von dort aus können Sie genau sehen, was XCode verwendet und was möglicherweise in Ihren Einstellungen fehlt. Die Befehlszeilenausgabe befindet sich in einem der Ausgabefenster im Fenster "Build-Ergebnisse".

Verwandte Themen