ios - 检测设备是否支持电话?

标签 ios objective-c iphone cocoa-touch phone-call

下面的代码是否可靠地用于确定设备是否支持电话调用? 我担心的是,如果苹果将 iphone 字符串更改为其他任何内容,假设他们决定使用“iphone 3g”、“iphone 4”等。

[[UIDevice currentDevice].model isEqualToString:@"iPhone"]

最佳答案

iPhone 支持 tel://URI 方案。所以你可以使用:

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel://"]];

canOpenURL:明确检查是否有应用程序能够打开该 URL 方案,而不是 URL 是否正确。因此,没有指定电话号码并不重要。该方法返回一个 BOOL,因此请检查 YES 或 NO。

这应该从字面上回答是否存在任何能够调用电话的应用程序。因此,它应该可以应对 future 设备分割的任何变化。

关于ios - 检测设备是否支持电话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094928/

相关文章:

升级到 IOS 4.2 后,iPhone View 无法加载

ios - NSUserDefaults setObject :forKey: attempt to insert non-property list object

iphone - 将动态输入的数据保存到 plist

ios - 在 Swift 3 和 XCODE 8.2 中,声音仅在命中断点时播放。如何解决

ios - 如何在 iOS Swift 中使用 GOOGLE MAPS 获取源和目的地之间的公交车站列表

ios - 要检查wifi是否开启但没有互联网连接

ios - Facebook:从 iOS 应用分享给特定的人或列表

javascript - 使用javascript和html隐藏iphone中的地址栏和状态栏

iphone - Objective-C 将 block 传递给 block

ios - 应用程序在应用程序商店中可用于 iPad(不需要)