这是打开拨号器打电话或发信息的唯一方法吗。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:+%@",phoneNumber]]];
如果是的话。那么这个支持将从 ios3 到 ios6(测试版)。
如果没有。那么任何人都可以提供一些示例代码。(如果任何私有(private) api 可以做到这一点,请提及)
如果发送短信和调用电话有单独的功能,也请告诉我。
在带有 ios 4.2.6 的 ipad 1 中,以下代码不起作用
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"sms:9190432097420"]]];
和
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:9190432097420"]]]
问题出在哪里
最佳答案
根据 UIApplication
's Class Reference ,openUrl:
方法在 iOS 2.0 及更高版本中可用。因此,您应该可以安全地使用该方法。
关于您的示例,如果您首先检查是否有可以处理提供的 url 的应用程序,它会“更安全”。例如:
NSURL *url = [NSURL URLWithString:@"tel:9190432097420"];
if([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}
else {
NSLog(@"No application for url '%@'", url);
}
您是在实际设备上还是在模拟器中进行测试?据我所知,模拟器不支持这一点。
关于ios - 用于短信和通话的 openUrl 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12140740/