2

这就是我在 ipad 应用程序中打开 iMessage 的方式

NSString *stringURL = @"sms:";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

但我想要的是打开 iMessage 并带有一些我有文本归档的消息,我想将它的测试发送给 i 消息,就像我们在邮件中所做的那样

 [mailViewController setMessageBody:textView.text isHTML:NO];

iMessage 中有什么东西可以通过测试文件打开 iMessage

提前致谢

4

2 回答 2

3

响应很晚,但这是我在尝试解决此问题时看到的第一个结果,我想提供我的解决方案。

我希望打开 iMessage 应用程序而不使用MFMessageComposeViewController的原因是因为MFMessageComposeViewController不支持 iMessage 应用程序。我的目标是提示用户打开我的 iMessage 应用程序,而这样做的唯一方法是打开 iMessage 应用程序。

这可以按如下方式完成(在 Swift 2 中):

let phoneNumber = "9765432100"
let bodyText = "Hello World"

guard let messageURL = NSURL(string: "sms:\(phoneNumber)&body=\(bodyText)") else { return }
if UIApplication.sharedApplication().canOpenURL(messageURL) {
    UIApplication.sharedApplication().openURL(messageURL)
}

需要记住的一些事项:

1)您必须sms:LSApplicationQueriesSchemesInfo.plist 中添加

2) 这种方式不能打开群消息。

3)电话号码的格式必须如下:9765432100。没有空格或多余的字符,只有数字

于 2016-10-08T04:56:56.527 回答
-1

您无法使用任何 URL 打开 iMessage。Messages.app 将检测号码是否支持 iMessage 并通过 iMessage 发送消息。

调用sms:URI 时,您只是打开任何可以处理它的应用程序,在 iPhone/iPad 上,这将是消息应用程序。给定号码有一个 iMessage 帐户,短信将通过 iMessage 网络发送。如果在 iPad 上找不到帐户,则无法发送消息。

如果您希望用户从您的应用程序中发送 SMS 消息,您应该使用MFMessageComposeViewController.

喜欢:

// Fist check if we can send messages
if ([MFMessageComposeViewController canSendText] {
   MFMessageComposeViewController *composer = [MFMessageComposeViewController new];
   composer.body = @"Your message goes here";
   // Then present the composer in a UIPopoverController.
}
于 2013-08-30T13:33:46.847 回答