如何用一些短信打开iMessage?

时间:2013-08-30 13:27:09

标签: iphone ios imessage

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

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

但我想要的是打开iMessage,有一些消息,我已经提交了文本,我想将其测试发送到i消息,就像我们在邮件中所做的那样

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

iMessage中有什么东西我可以用测试字段消息

打开iMessage

提前致谢

2 个答案:

答案 0 :(得分:4)

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

我希望打开iMessage应用而不使用static Rigidbody m_ProjectileRigidbody; internal void FireProjectile(GameObject projectile, float speed) { projectile.transform.position = State.PlayerTransform.position + State.PlayerTransform.forward; projectile.transform.rotation = State.PlayerTransform.rotation; m_ProjectileRigidbody = projectile.GetComponent<Rigidbody>(); m_ProjectileRigidbody.AddForce (State.PlayerTransform.forward * speed, ForceMode.Impulse); if (State.PlayerState.Consumes) { State.PlayerState.ConsumeCellEnergy(EnergyConsumption); State.PlayerState.GenerateCellHeat(HeatProduction); } } void OnCollisionEnter(Collision collision) { Debug.Log("Collided With: " + collision.gameObject.name); } 的原因是因为MFMessageComposeViewController不支持iMessage应用。我的目标是提示用户打开我的iMessage应用程序,唯一的方法是打开iMessage应用程序。

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

MFMessageComposeViewController

要记住的一些事情:

1)您必须在Info.plist

中将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) } 添加到sms:

2)您无法以这种方式打开群组消息。

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

答案 1 :(得分:-1)

您无法使用任何网址打开iMessage。 Messages.app将检测该号码是否具有iMessage支持并通过iMe​​ssage发送消息。

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

如果您想让用户从您的应用中发送短信,您应该使用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.
}