iOS:启动具有多个收件人的消息应用程序

标签 ios objective-c cocoa-touch sms

我正在尝试对其进行设置,以便我的用户可以向一群人发送文本。现在使用电子邮件很简单,URL 方案只是 mailto://firstemail@email.com,secondemail@email.com 然后可以与 openURL 方法一起使用。

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

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

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

编辑

实际上我确定一定有办法做到这一点,我刚刚检查了 Cobook 应用程序,他们允许用户选择联系人,然后启动消息应用程序发送“新群组彩信”。

最佳答案

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

SMS WatchKit multiple number delimiter

虽然这个答案是 watchkit 特定的,但 url 确实是您要问的。

回答: 我 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 上打开消息应用程序,并预先填充多个收件人。

许多页面声明这是不可能的,但它确实是。万岁!

关于iOS:启动具有多个收件人的消息应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23820570/

相关文章:

android - 函数的返回类型为 'Future<Station>',但没有以return语句flutter结尾

ios - ✔ 勾选 UITableViewCell 中选定的行

ios - UIView 作为 maskView- 由约束常量移动的原点

ios - 知道何时在 Apple Watch 模态界面 Controller 中单击取消按钮

ios - 如何使用 XCTest 测试导航栏是否未设置为 objective-C 中的特定颜色?

ios - ScrollView 、缩放和缩放原点混淆

ios - PKAddPassButton 文本和图标太大

ios - UITextView 的 setText 方法仅在第二次调用该方法后才起作用。

objective-c - 在 xib 文件中的 View 上设置类

ios - 如何设置 UILocalNotification 的过期时间?