前回の発信料金と発信電話番号のキャリア名の調べ方を教えてください。iPhoneでキャリア名と通話料金の詳細を取得するAPIはありますか?
2 に答える
機密性やセキュリティに関することではありませんが、この情報が利用可能である場合、セキュリティ上の重大な問題になります.
電話は、ワイヤレス/セルラー ネットワークでの課金に関連するものを認識しません。電話はネットワークに登録しようとしますが、アカウントが非アクティブであるか状態が良好でない場合、ネットワークは通常、登録の試みを拒否します。
課金はほとんどの場合、事業者のコア ネットワーク (通常、回線交換ネットワークの MSC、UMTS パケット交換ネットワークの SGSN、CDMA/EVDO パケット交換ネットワークの PDSN、または LTE パケット交換ネットワークの MME) によって処理されます。通話やデータ転送に関連する残りの時間やコストに関する情報を取得することは不可能です。この情報を提供するアプリは通常、概算によって提供します。通常、電話レベルでこの情報を追跡するだけであり、公式ではない場合があります.
プロバイダーとテクノロジーによっては、キャリア名を使用できる場合があります。ほとんどのテクノロジーでは、ネットワークの MCC と MNC が利用可能であり、そのキャリア名にアクセスできます。このリンクは、iOS4 でそれを行う方法のアイデアを提供しますが、短いバージョンは次のとおりです。
#import <CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
// Setup the Network Info and create a CTCarrier object
CTTelephonyNetworkInfo *networkInfo = [[[CTTelephonyNetworkInfo alloc] init] autorelease];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];
// Get carrier name
NSString *carrierName = [carrier carrierName];
if (carrierName != nil)
NSLog(@"Carrier: %@", carrierName);
// Get mobile country code
NSString *mcc = [carrier mobileCountryCode];
if (mcc != nil)
NSLog(@"Mobile Country Code (MCC): %@", mcc);
// Get mobile network code
NSString *mnc = [carrier mobileNetworkCode];
if (mnc != nil)
NSLog(@"Mobile Network Code (MNC): %@", mnc);
いいえ、ありません。いいえ、あってはなりません。いいえ、あり得ません。そのようなものは機密です。