我的应用程序中有一个特定的场景,其中一些内容(来自服务)需要根据位置或用户所在的国家/地区进行显示。
我想出了两种/三种方法来实现这一点,但它们有一些缺点,如下所述。
1) 使用NSLocale
NSLocale*locale=[NSLocale-currentLocale];NSString*countryCode=[locale-objectForKey:NSLocaleCountryCode]
缺点:可由用户更改,可从设置->常规->国际->区域格式进行配置
2) 使用核心位置
确定纬度&经度(CLLocationManager&CLLocation)。从纬度&经度使用反向地理编码确定国家。在我看来,这是实现我目标的最准确的方式。
缺点:如果用户不允许核心定位服务找不到lat&长,再次依赖于用户。
以下是我的几个问题
1) 我想知道苹果是否有API可以帮助我了解购买我的应用程序的APPLE ID,以及这个APPLE ID所属的国家?
2) 考虑到苹果的安全环境,这可能是非常不可能的,但仍然。。。是否可以根据Apple ID获取与信用卡相关的国家/地区(如果相关)?
正在等待响应。
谢谢大家。
这两个问题的答案都是否定的(有充分的理由)。苹果公司不提供对设备所有者的苹果ID的程序访问。当然也不提供任何与信用卡相关的信息。我会请求用户允许获取他们的位置,并解释为什么你的应用程序需要它(在iOS 6中,你可以提供为什么请求位置的上下文)。
您可以使用CTTelephonyNetworkInfo访问有关设备SIM卡的数据。当然,只有当用户拥有SIM卡时,这才有效。它的价值令人怀疑,因为大多数人都可以去地球上大多数地方旅行。