私はiOSアプリケーションでローミングエリアに入るときに通知を受けたいと思っています。すでにNSLocale
、SCNetworkReachability
、コアテレフォニー(不足している可能性があります)のドキュメントを読んでいます。私はsim(または可能であれば他の方法)からこの情報を得る必要があります。IOSでローミングステータスを取得する方法
答えて
ローミングステータスを検出するためのiOS APIはありませんが、http://ipinfo.io(自分のサービス)のようなサードパーティのサービスを使用して、デバイスのIPアドレスに基づいて偶数キャリアコードの現在の国を調べることができます。それをCTCarrierの詳細と比較して、デバイスがローミング中であるかどうかを判断できます。ここでは、標準ipinfo.io APIレスポンスです:もかかわらず、モバイルIPのMCC/MNC詳細を含むパッケージが用意されてい
$ curl ipinfo.io/24.32.148.1
{
"ip": "24.32.148.1",
"hostname": "doc-24-32-148-1.pecos.tx.cebridge.net",
"city": "Pecos",
"region": "Texas",
"country": "US",
"loc": "31.3086,-103.5892",
"org": "AS7018 AT&T Services, Inc.",
"postal": "79772"
}
カスタム。詳細はhttp://ipinfo.io/developersを参照してください。
これはVPNでどのように機能しますか? –
これは、VPNなしで携帯電話ネットワークに接続する場合にのみ機能します。 iOS APIを使用しているユーザーがWi-Fi /携帯電話にいるかどうかを検出できます。また、ipinfo.ioの応答では、携帯電話の接続かどうかが示されます。 –
一般的な方法は、通信事業者の国コードをコアテレフォニーインターフェイスから取得し、それをその場所を逆ジオコーディングした国コードと比較することです。
利点:VPNで動作し、ローミング時にユーザーがデータを無効にした場合。 短所:場所なしでは機能しません。
私はあなたのための任意の非著作権コードを持っていませんが、場所マークに必要なキーはあなたが国コードのために必要な辞書がある@「国番号」 ジオコーディングは次のようになり、何かのように: -
CLGeocoder* geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:location completionHandler: ^(NSArray* placemarks){}]
プロバイダの
国コードが
NSString* homeCountry = [netInfo.subscriberCellularProvider isoCountryCode];
希望になり、これは
しかし、私が海外にいるとき、isoCountryCodeは、逆のジオコーディング位置の国コードと同じ_same_です。たとえば、ドイツに行くと、CoreTelephonyは「de」を返し、reverseGeoCodeLocationも「de」を返します。 *ローミングしない? – dOM
- 1. iOS 6でローミングステータスを検出する方法はありますか?
- 2. iOSでシステムアイコンを取得する方法
- 3. INFOPLIST_FILEの取得方法iOS
- 4. iOSで動作するポインターイベントを取得する方法
- 5. iOS iBeacon:プログラムでproximityUUIDをすべて取得する方法
- 6. iOSのテーブルビューでjsonデータを取得する方法
- 7. Facebook-iOs-APIカスタム関数でレスポンスを取得する方法
- 8. appium 1.6でiOS警告テキストを取得する方法
- 9. iosで一度だけ場所を取得する方法
- 10. iOS 9で毎回ユーザー権限を取得する方法
- 11. iOSアプリケーションでUSSDコード応答を取得する方法
- 12. iOSアプリケーションでシステムフォントを取得する方法は?
- 13. iOSのステータスバーでハンドルを取得する方法
- 14. iOSでOpenCVを使用して取得する方法
- 15. 反応ネイティブでiosのオフラインバンドルを取得する方法
- 16. Nativescript(IOS)でぼかしイベントを取得する方法
- 17. ios Swiftでコアデータのプライマリキー値を取得する方法は?
- 18. ネイティブiOS app appiumでカスタムチェックボックスのxpathを取得する方法
- 19. IOS SwiftでFBSDKAccessTokenを取得する方法
- 20. iOS-カスタムパラメータでダイナミックショートリンクを取得する方法firebase
- 21. iOS 8/9でtoday-extensionの幅を取得する方法
- 22. IOSのWKWebViewで詳細なCookieを取得する方法
- 23. iOSのCoreDataでオブジェクトを取得する最良の方法
- 24. xamarinフォームでアンドロイドとIOSデバイストークンを取得する方法は?
- 25. GoogleアナリティクスでiOSバージョンを取得する方法
- 26. iOS: `UICollectionview`、` indexPath`でセルの `contentoffset`を取得する方法
- 27. iOSで現地時間を取得する方法
- 28. iOSでurlrequestからクッキーを取得する方法
- 29. iosでアンインストールされたアプリケーション名を取得する方法は?
- 30. iOSでCSRFトークンを取得する方法は?
を助けhttp://stackoverflow.com/questions/900547/is-there-any-way-to-determiこの2つの質問をご確認ください携帯電話のローミングとhttp://stackoverflow.com/questions/12473490/is-there-any-ways-to-detect-the-roaming-status-on-ios-6 –
plz shareコード...あなたはこれまでに – madLokesh
を試しましたが、私はIPアドレスを追跡して試して、そのIPの場所を与えることができるWebサービスを呼び出しましたが、Webサービスを使用するとは考えていません。私は、コアテレフォニーのモバイル国コードを使用して国コードを比較することができます。 2)2番目の制限は、私たちはこの情報のためにSIMに頼らなければならないということです。simからの情報を取得する方法を意味します – Rana