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.mViewController.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 に答える