2016-10-12 2 views
9

iOSプログラミングには、SIMが前払いであるか、後払いであるかを識別する方法、機能、またはプロパティがありますか?iOSを使用してSIMの前払いまたは後払いを検出できますか?

どのような方法でネットワーク情報を使用して、プレとポストを区別することはできますか?

- (NSDictionary *)fetchSSIDInformation { 
     NSArray *interfaceNames = CFBridgingRelease(CNCopySupportedInterfaces()); 
     NSLog(@"%s: Supported interfaces: %@", func, interfaceNames); 
     NSDictionary *SSIDInfo; 
     for (NSString *interfaceName in interfaceNames) 
      { 
      SSIDInfo = CFBridgingRelease(CNCopyCurrentNetworkInfo((bridge CFStringRef)interfaceName)); 
      NSLog(@"%s: %@ => %@", __func, interfaceName, SSIDInfo); 
      BOOL isNotEmpty = (SSIDInfo.count > 0); 
      if (isNotEmpty) { break; } 
      } 

     return SSIDInfo; 
} 
+0

私はSIMが何らかの形で異なっているとは思わない、どちらもネットワークではない。それはデバイスが何も知らないようにすべての請求についてです。 –

答えて

0

私はあなたができるとは思わない、アップルはシムに関する情報を公開していない。あなたはすることができるかもしれませんが、リンゴはAppstoreであなたのアプリを考慮しません。 Read Apple Developer Document

+0

はい、同じものについていくつかの研究開発を行いましたが、今のところ不可能です。デバイスネットワーク情報に関連する情報があるかどうかは不思議です。 –

+0

あなたがそのような情報 – Saranjith

+0

を取得するために使用したコードを追加してください - (NSDictionaryの*)fetchSSIDInformation { にNSArray * interfaceNames = CFBridgingRelease(CNCopySupportedInterfaces()); NSLog(@ "%s:サポートされているインタフェース:%@"、__func__、interfaceNames); NSDictionary * SSIDInfo; SSIDInfo = CFBridgingRelease( CNCopyCurrentNetworkInfo((__ bridge CFStringRef)interfaceName)); for(インターフェイス名のNSString * interfaceName) NSLog(@ "%s:%@ =>%@"、__func__、interfaceName、SSIDInfo); BOOL isNotEmpty =(SSIDInfo.count> 0); if(isNotEmpty){ break; } } return SSIDInfo;} –

1

いいえ、SIMカードやデバイスで使用可能なネットワーク情報には、加入者の種類が示されません。 SIMが保持する唯一の重要な情報は、SIMをオペレータに一意に識別する国際移動体加入者識別(IMSI)である。

ネットワーク事業者は、事業者側(HLRに格納されている)に「契約者タイプ」(後払い、前払い、収束、ハイブリッド)を関連付け、課金の処理方法に影響を与えます。

この情報を一般に公開するのは一般的ではありませんが、オペレータにはこのようなクエリを公開するサービスプロバイダのポータルがあります。

関連する問題