iOS:启动包含多个收件人的邮件应用程序

时间:2014-05-23 03:34:46

标签: ios objective-c cocoa-touch sms

我尝试设置它,以便我的用户可以向一组人发送文本。现在使用电子邮件很简单,网址方案只有mailto://firstemail@email.com,secondemail@email.com,然后可以与openURL方法一起使用。

当谈到短信时,我决定尝试sms://2065555555,2061234567但是这不起作用(它只添加第一个数字)。稍微浏览一下Google后,我发现一些较旧的主题声称使用URL方法无法向多个收件人发送短信。

为了向多个人发送消息,我已经将MessageUI添加到我的应用程序中,连接了MFMessageComposeViewControllerDelegate,现在我确实可以发送消息到多个人们立刻。但是只能从我自己的应用程序中,这不是我想要的。我希望在框架中有一些东西可以让我利用多个收件人功能然后在默认信使中启动它,但我找不到任何允许它的东西。

那么,简而言之,是否有任何可能的方式我可以编写我的应用程序来填充多个收件人的默认消息应用程序?

修改

实际上我确定必须有办法,我只是检查了应用程序Cobook,他们允许用户选择联系人然后启动消息应用程序发送"新组彩信"

2 个答案:

答案 0 :(得分:3)

我意识到这是一个非常古老的问题 - 但我最近发现了这样做的方法,并在此发布:

SMS WatchKit multiple number delimiter

虽然这个答案是特定于Watchkit的,但网址真的是你要问的。

<强> ANSWER : 我found an obscure page给了我答案。事实证明,Apple没有记录在任何我能找到的地方:

    let urlSafeBody = messageBody.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLHostAllowedCharacterSet())
    if let urlSafeBody = urlSafeBody, url = NSURL(string: "sms:/open?addresses=1-408-555-1212,1-408-555-2121,1-408-555-1221&body=\(urlSafeBody)") {
        WKExtension.sharedExtension().openSystemURL(url)
     }

以上版本将打开Apple Watch上的消息应用程序,其中预先填充了多个收件人。

多页 表明它不可能,但确实如此。万岁!

答案 1 :(得分:0)

Apple's documentation for the "sms://" URL scheme似乎表明该网址中只能有一个电话号码。

这里最简单的方法是继续使用MFMessageComposeViewController(它的外观和感觉非常接近人们用来发送和接收短信的默认Messages.app。)

和 MFMessageComposeViewController有一个receipients property这是一个数组,这意味着你可以在你的撰写视图中有多个目标电话号码。

最后,here is a related question涵盖了你在这里想到的很多相同的基础。