48

プログラムでiPhoneの携帯電話会社を知る方法はありますか?

iPhoneが接続されているキャリア名を探しています。

4

10 に答える 10

84

iOS 4 では、CoreTelephony フレームワークが使用可能です。キャリア名を取得するためのスニペットを次に示します。

CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netinfo subscriberCellularProvider];
NSLog(@"Carrier Name: %@", [carrier carrierName]);
[netinfo release];

CoreTelephony にリンクし、ヘッダーに含めます。

#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
于 2010-10-16T07:51:14.153 に答える
15

ここでメモしておきます。この API をさまざまな SIM でテストしたところ、iPhone がロックされているオペレーターの名前が [carrercarrierName] で返されるようです!!

これを 2 つの iPhone でテストしました。1 つはロックされ、もう 1 つはロックされていません。ロックされたものについては、SIM プロバイダーに関係なく、テスト アプリを実行するたびに、ロックされているオペレーターの名前が返されます。ただし、MNC は変更されることに注意してください。

于 2011-05-19T13:09:04.153 に答える
2

キャリア名を取得するためのパブリック API はありません。App Store で公開する必要がない場合は、プライベート API の使用を検討できます。

VVCarrierParameters.hVisualVoiceMail パッケージには、必要なcarrierServiceNameクラス メソッドがあるようです。そのヘッダーをプロジェクトにドロップして、 を呼び出します[VVCarrierParameters carrierServiceName]

これを行うと、アプリが拒否される可能性が高いことに注意してください

于 2009-05-12T17:45:41.583 に答える
0

https://developer.apple.com/iphone/prerelease/library/documentation/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/doc/uid/TP40009596-CH1-DontLinkElementID_3

そのような方法もありますが、iOS 4 でしか利用できないため、それ以前のバージョンでは使用できません。そして、これはおそらく下位互換性も壊します。

于 2010-08-19T12:49:04.110 に答える