I'm coding an app with heavy network usage. I've been told to warn users for costs but only when in roaming mode. I know theres some way to know when the phone is roaming comparing two undocumented files on jailbreaked iphones. But I need to find out how to for non jailbreaked phones. BTW found nothing at SCNetworkReachability api.
Ty!
There's no way to know if they're roaming using the API. You can find out if they're on Wifi or Cellular, but that's it.
You can get the user's home network country code from CoreTelephony. There are lists to map MNCC ( mobile network country code) to a real country code.
Next get your location, from CoreLocation, and get an address from that using geolocation.
Compare one to the other, and there you have it.
Not 100% reliable near borders, but good enough for a warning message.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With