I don't need precise location data, and I don't want the user to see the "This App wants to determine your location" Alert. I just need to determine the user's country, assuming they have an internet connection via network or wi-fi.
What is the best way to do this? Is there some way to use their IP?
This would only work if they had a carrier:
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];
And NSLocale
is not reliable in that the user can change it in their device settings. Can't use the device's language setting for the same reason. I need the country based on where they are physically located.