我有兴趣在 iPhone 上的私有(private)应用程序中发送彩信。我需要的很多信息都是专有的,因此我在任何地方都找不到。基本上,我正在寻找构建 CTMessage 并将其编码为 MMS 的正确方法,然后通过重载的 sendMMS 函数之一发送它。提前致谢。

最佳答案

对于那些感兴趣的人:这是我设法挖掘的内容(和/或自己拼凑起来)。

对于每个彩信,都会分配并初始化一个 CTMessage。调用 addRecipient/setRecipient 就是为了做到这一点。

对于每个数据/文本部分,使用其数据和相应的数据类型构建一个 CTMessagePart,然后将其添加到 CTMessage 的 items 数组中。每个 MMS 项目数组中的第一项始终是 CTMessagePart,其中包含接收者解释以显示消息的 SMIL 格式布局。在第一个之后的每个 CTMessagePart 按照从 SMIL 数据引用它的顺序。

每个(未修改的)iPhone 都有一个 CTMessageCenter 实例在运行,id 为 sharedMessageCenter。调用 sharedMessageCenter 的 sendMMS,给出您刚刚创建的 CTMessage 的 id 将自动执行其余的过程。本质上,CTMessage 使用 CTMmsEncoder 编码为 MMS-PDU 十六进制字符串。 (不确定它的正确名称,哈哈)。无论如何,sharedMessageCenter 的 send 方法然后会将(编码的)彩信发送到您的提供商的彩信。

这几乎总结了它,并且应该为任何想要沿着这条道路前进的人提供一个良好的起点,具体取决于他们正在做什么。我可以尽我所能回答任何问题。

关于iphone - 使用 CoreTelephony 在 iPhone 上发送彩信,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11722914/

10-12 01:46