这是我在ipad应用程序中打开iMessage的方式
NSString *stringURL = @"sms:";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
但我想要的是打开iMessage,有一些消息,我已经提交了文本,我想将其测试发送到i消息,就像我们在邮件中所做的那样
[mailViewController setMessageBody:textView.text isHTML:NO];
iMessage中有什么东西我可以用测试字段消息
打开iMessage提前致谢
答案 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支持并通过iMessage发送消息。
当调用sms:
URI时,您只是打开任何可以处理它的应用程序,在iPhone / iPad上,这将是消息应用程序。给定的号码有一个iMessage帐户,短信将通过iMessage网络发送。如果在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.
}