我正在尝试像在AppStore中一样构建一个游戏中的Tell A Friend表单。有人知道它是否可以在SDK的任何地方找到?我不想重新制作切片面包。
谢谢!
答案 0 :(得分:5)
如果没有编写自己的SMTP客户端,您可以创建一条消息,然后通过使用openURL向邮件应用程序发送URL来退出应用程序。
NSURL *url = [[NSURL alloc] initWithString: @"mailto:gilm@myopenid.com?subject=subject&body=body"];
[[UIApplication sharedApplication] openURL:url];
然后,用户检查内容并发送消息。
答案 1 :(得分:3)
在你的.h文件中导入MessageUI和MFMailComposerViewController:
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>
你需要通过添加:<MFMailComposeViewControllerDelegate>
来制作你的viewController MFMailComposeViewControllerDelegate,如下所示:
@interface tellAFriend : UIViewController <MFMailComposeViewControllerDelegate> {
也可以通过IBAction告诉朋友:
-(IBAction)tellAFriend;
的更新强>
对于短信,还要添加:
-(IBAction)tellAFriendViaSMS;
然后进入你的.m并添加以下代码:
-(IBAction)tellAFriend {
if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailView = [[MFMailComposeViewController alloc] init];
mailView.mailComposeDelegate = self;
[mailView setSubject:@"Check Out your_app_name_here"];
[mailView setMessageBody:@"Check out your_app_name_here <br> It's really cool and I think you would like it." isHTML:YES];
[self presentModalViewController:mailView animated:YES];
[mailView release];
}
else {
NSLog(@”Mail Not Supported”);
}
}
-(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult MFMailComposeResult)result error NSError*)error {
[self dismissModalViewControllerAnimated:YES];
}
<强>更新强> 您也可以使用以下代码发送短信:
-(IBAction)tellAFriendViaSMS {
MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
if([MFMessageComposeViewController canSendText])
{
controller.body = @"Check Out your_app_name_here, itunes_link_here";
controller.recipients = [NSArray arrayWithObjects:@"phoneNumbersHere", @"PhoneNumberTwo", nil]; // Optional
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
}
}
答案 2 :(得分:2)
与此同时,iPhone SDK中有一些新的API,包括MessageKit.framework。该框架可以添加MFMailComposeViewController。
希望有效, 添
答案 3 :(得分:1)
SDK中没有这样的内容,抱歉。
答案 4 :(得分:-2)
正如Ben所说,不,SDK中没有类似的东西。我的猜测永远不会。我想这个功能是在服务器端实现的,这可能是最好的选择。