0

我想在我的应用程序中添加一个“告诉朋友”选项,允许用户选择多个联系人向他们发送电子邮件。联系人需要过滤到只有电子邮件地址的人。

有没有人知道我可以重复使用的现成示例。

4

1 回答 1

1

我最近搜索了同样的问题,发现了 iTellAfriend。这个对我有用。

从github/iTellafriend下载此源代码 。打开 zip 文件并在 src 文件中将 iTellAFriend.h 和 iTellAFriend.m 拖到您的项目中。选中“将项目复制到目标组文件夹(如果需要)”和“为任何添加的文件夹创建组文件夹”

在你的 appdelegate.m 添加#import "iTellAFriend.h"

将以下内容添加到您的 appdelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
      //[iTellAFriend sharedInstance].appStoreID = yourAppId;
        [iTellAFriend sharedInstance].appStoreID = 408981381; //example

        return YES;
}

添加#import "iTellAFriend.h"到您的呼叫以下方法ViewController.m中的任何位置ViewController.m(最好在按钮中)

if ([[iTellAFriend sharedInstance] canTellAFriend]) {
            UINavigationController* tellAFriendController = [[iTellAFriend sharedInstance] tellAFriendController];
            [self presentModalViewController:tellAFriendController animated:YES];
        }

在 iTellAFriend.m 中修改以下

- (UINavigationController *)tellAFriendController
{
  MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
  picker.mailComposeDelegate = self;


  [picker setSubject:self.messageTitle];
  [picker setMessageBody:[self messageBody] isHTML:YES];

  return picker;
}

- (UINavigationController *)tellAFriendController
{
  MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
  picker.mailComposeDelegate = self;

    NSArray *toRecipients = [NSArray arrayWithObjects:@"xxxx@xxxx.com", @"xxxxx@xxxx.com", nil];
    [picker setToRecipients:toRecipients];

  [picker setSubject:self.messageTitle];
  [picker setMessageBody:[self messageBody] isHTML:YES];

  return picker;
}

当您单击按钮时,将出现以下场景,它不会在模拟器上发送电子邮件,而是在设备上发送 在此处输入图像描述

于 2012-09-12T16:09:55.907 回答