2011-11-14 11 views
7

Koduję aplikację z dużym obciążeniem sieci. Powiedziano mi, żeby ostrzegać użytkowników o kosztach, ale tylko w trybie roamingu. Wiem, że istnieje sposób, aby wiedzieć, kiedy telefon jest w roamingu porównując dwa nieudokumentowane pliki w jailbreaked iPhone. Ale muszę się dowiedzieć, jak korzystać z telefonów innych niż jailbreak. BTW nie znalazło nic w interfejsie API SCNetworkReachability.iPhone iOS: jak wykryć, kiedy jesteś w roamingu? (Nie dla telefonów z jailbreakiem)

Ty!

+0

możliwy duplikat [Czy istnieje jakiś sposób na wykrycie statusu roamingu na iOS 6?] (Http://stackoverflow.com/questions/12473490/is-there-any-ways-to-detect-the-roaming- status-on-ios-6) – Pascal

Odpowiedz

2

Nie można sprawdzić, czy używają interfejsu API. Możesz sprawdzić, czy są w Wi-Fi lub komórkowym, ale to wszystko.

1

Możesz otrzymać kod kraju macierzystego użytkownika z CoreTelephony. Istnieją listy do mapowania MNCC (kod kraju sieci mobilnej) do rzeczywistego kodu kraju.

Następnie zdobądź swoją lokalizację z CoreLocation i uzyskaj adres z geolokalizacji.

Porównaj jeden z drugim i już go masz.

Nie jest w 100% niezawodny w pobliżu granic, ale wystarczająco dobry, aby wyświetlić komunikat ostrzegawczy.

Powiązane problemy