iPhone - 找不到 MessageUI 框架

8

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

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

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

#import <MessageUI/MessageUI.h>

我弹出了一个警报,关闭后调用下面的函数,在我的代码中没有显示任何错误。我是否需要在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/

请参见https://dev59.com/3XA75IYBdhLWcg3wVXav,了解如何在Xcode 4中添加现有框架。 - Stan
2个回答

18

经过一番调查,我发现我使用的教程是完全没有问题的!代码没有错误,我的问题在于我将MessageUI框架添加到项目中的方式。

错误的方法。在框架文件夹上按Ctrl键并选择添加 -> 存在的框架..

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

如果您已经以错误的方式添加了MessageUI框架,则只需将其删除并按正确的方式进行操作。 如果仍然无法正常工作,请尝试关闭xcode,重新启动并重新构建应用程序。

经过多个小时的寻找答案,这就是对我有效的方法。


0
链接器命令行输出将告诉您有关XCode正在使用的内容以尝试构建二进制文件的许多信息,包括框架包含路径和链接器在构建中包含的框架。从那里,您将能够看到XCode正在使用什么以及您的设置可能缺少什么。命令行输出可以在“构建结果”窗口的一个输出窗格中找到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接