我需要知道用户理论上是否可以打电话。
当用户的 iPhone 能够连接到运营商的网络时,有谁知道如何“返回真实”(使用 Cocoa iOS)?(不是互联网)
或者如何以编程方式告诉用户“有多少个接收栏”?
我需要知道用户理论上是否可以打电话。
当用户的 iPhone 能够连接到运营商的网络时,有谁知道如何“返回真实”(使用 Cocoa iOS)?(不是互联网)
或者如何以编程方式告诉用户“有多少个接收栏”?
将您的应用程序与CoreTelephony.framework链接起来
您可以检查CTCarrier对象,并查看对于某些需要与 Phone Provider 连接的属性是否有有效结果 (!=nil)。
例如,下面有一段代码检查CTCarrier的mobileNetworkCode属性。当且仅当设备连接到电话提供商时,此属性为 != nil(您所需的任务,用户能够拨打电话,包含在上述状态中)。
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
//The value for this property is nil if any of the following apply:
// - The device is in Airplane mode.
// - There is no SIM card in the device.
// - The device is outside of cellular service range.
NSString *mnc = [carrier mobileNetworkCode];
if(!mnc) {
//if we're here, than probably we're disconnected from the Phone Provider
}
netInfo.subscriberCellularProviderDidUpdateNotifier = ^ (CTCarrier * carrier) {
//this block is executed each time we've a change to the state of the carrier
//be sure to check the carrier object, in order to see is we're connected to a
//phone provider.
};
Apple 开发人员文档网址中的更多信息:http: //developer.apple.com/library/IOs/#documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html