8

我希望能够在我的应用程序中使用 iPhones Mail.app,这样我的用户就可以在不离开应用程序的情况下发送共享电子邮件。我知道 3.0 使这成为可能。

我已经通过 ctrl 单击我的框架文件夹-> 添加现有框架来正确添加框架。

将此添加到我希望 Mail.app 出现的视图控制器的头文件中。

#import <MessageUI/MessageUI.h>

我弹出一个 UIAlert 并在关闭时调用下面的函数,我的代码中没有出现错误。我必须在 Interface Builder 中做一些额外的事情吗?错误消息如下

-(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];
}

我的错误信息:

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

我遵循了本教程: http ://blog.mugunthkumar.com/coding/iphone-tutorial-in-app-email/

4

2 回答 2

18

在做了一些研究后,我发现我使用的教程非常好!代码没有错误,我的问题是我将 MessageUI 框架添加到我的项目中的方式。

错误道。 Ctrl-单击框架文件夹并选择添加 -> 现有框架..

正确的方式。 在 xcode 屏幕左侧的文件面板中打开“目标”,双击您的项目名称。将弹出一个新窗口,在新窗口的底部您可以添加一个新的链接库,通过单击左下角的小加号添加一个。向下滚动到 MessageUI 并选择添加。

如果您已经以错误的方式添加了 MessageUI 框架,只需将其删除并以正确的方式继续。如果它仍然不起作用,请尝试关闭 xcode,重新启动并重建您的应用程序。

经过数小时寻找答案后,这对我有用。

于 2009-09-04T03:30:49.860 回答
0

链接器命令行输出将告诉您很多有关 XCode 用于尝试构建二进制文件的信息,包括框架包含路径和链接器在构建中包含的框架。从那里您将能够准确地看到 XCode 正在使用什么以及您的设置中可能缺少什么。命令行输出可以在 Build Results 窗口的输出窗格之一中找到。

于 2009-09-04T03:27:37.540 回答