题
基本上我需要在应用程序启动,以确定用户的国家和启用或禁用基于他/她的国家在我的应用程序基于位置的功能。我需要在之前的RootViewController的的加载应用程序委托尽可能快地做到这一点。反正在iPhone SDK ??
这样做的解决方案
您是否需要该设备的物理位置,而在应用程序运行的国家名称?
或者你可以凑合着用系统区域设置设备使用,如EN_US或fr_CA?
如果是后者,则可以:
NSLocale *currentUsersLocale = [NSLocale currentLocale];
NSString *currentLocaleID = [currentUsersLocale localeIdentifier];`
然后currentLocaleID
将"en_US"
或"fr_CA"
或类似。
否则,你就需要使用CoreLocation和某种形式的反向地理编码到您的纬度/经度转换成一个国家名称。
MKReverseGeocoder能做到这一点,但服务条款说你需要与可能不适合你一个谷歌地图那样做结合。仅适用于OS 3.0及以上,搜索的文档的 MKReverseGeocoder 作为详细信息。
我需要这个自己,并最终在PHP做我们的服务器上的地理编码,使用该设备的IP地址。它的基本的,但给了我们足够的细节对我们的需求。
看看这个Web服务: http://ws.geonames.org/ findNearby?LAT = 47.3&LNG = 9 结果 它会返回给定一个纬度/经度对国家和附近的地名的XML文档。
这方法依赖虽然具有有效的数据连接的设备上。
不隶属于 StackOverflow