プログラムによるiPhoneのオープンメールクライアント

私のアプリケーションでは、ユーザーが自分のGmailアカウントを与えた場合、私はGmailのログイン資格情報を使ってメールクライアントを開く必要があります。これはプログラムによってGmailのオプションをメールで選択したときですが、そのアカウントがメールに保存されている場合、ユーザーは自分のアカウントに直接アクセスできますどのように私はこれをプログラムで達成することができるのかを垣間見ることができます誰pliz。

13

4 答え

あなたはAppleのアプリケーションで迷惑行為をしないように、iPhone上のすべてのアプリケーションがサンドボックス化されているので、Mailアプリケーションをあまり支配しません。

あなたができる唯一のこと(電子メールを送信するためにメールクライアントを開く場合)は、次のようなものです:

/* create mail subject */
NSString *subject = [NSString stringWithFormat:@"Subject"];

/* define email address */
NSString *mail = [NSString stringWithFormat:@"[email protected]"];

/* define allowed character set */
NSCharacterSet *set = [NSCharacterSet URLHostAllowedCharacterSet];

/* create the URL */
NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"mailto:?to=%@&subject=%@",
                                                                                        [mail stringByAddingPercentEncodingWithAllowedCharacters:set],
                                                                                        [subject stringByAddingPercentEncodingWithAllowedCharacters:set]]];    
/* load the URL */
[[UIApplication sharedApplication] openURL:url];

/* release the URL. If you are using ARC, remove this line. */
[url release];
40
追加された
はい、お返事ありがとうございます。
追加された 著者 user574089,

迅速:

        if let url = NSURL(string: "mailto://\(email)") {
            UIApplication.sharedApplication().openURL(url)
        }
4
追加された

迅速なバージョンのLéonRodenburgの答え:

   //define email address
    let address = "[email protected]"

   //create mail subject
    let subject = "Subject"

   //create the URL
    let url = NSURL(string: "mailto:?to=\(address)&subject=\(subject)".stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)

   //load the URL
    UIApplication.sharedApplication().openURL(url!)
3
追加された

私ははるかに改善された答えを提案します。 Slack.comモバイルアプリはこれを実行し、デバイスに登録されている一般的な電子メールクライアントを検出し、開く電子メールクライアントの「どの」ポップアップを表示します。

実装するには:

  1. Googleがトップ10のメールクライアント(メール、Google Inbox、OutLook、AirMailなど)を探している。

  2. すべてのアプリを検索するか、アプリが明示的にインストールされていることがわかるので、アプリを検出する必要があります)

  3. 複数のメールアプリが検出された場合にポップアップリストを表示して、どのアプリを開くかをリクエストします。メール、受信トレイ。

これは私がこれまでに働いていた最良の解決策です。

1
追加された