确定与登录iOS设备的Apple ID关联的国家/地区

时间:2012-10-01 12:33:26

标签: ios objective-c ipad userlocation

我的应用程序中有一个特定的场景,其中一些内容(来自服务)需要根据位置或用户所在的国家/地区显示。

我认为有两种/三种方法可以实现这一目标,但它们有一些缺点,如下所述。

1)使用NSLocale

NSLocale * locale = [NSLocale currentLocale];  NSString * countryCode = [locale objectForKey:NSLocaleCountryCode];
 缺点:可由用户更改,可通过设置 - >一般 - >国际 - >地区格式配置

2)使用核心位置

确定纬度&经度(CLLocationManager& CLLocation)。从纬度和纬度经度使用反向地理编码确定国家/地区。 在我看来,这是达到我目的的最准确方式。

缺点:如果用户不允许核心位置服务找不到lat&很长,再次依赖用户。

以下是我的几个问题

1)我想知道APPLE是否有API可以帮助我了解购买我的应用程序的Apple ID,以及该Apple ID所属的国家/地区?

2)考虑到Apple的安全环境,这可能是非常不可能的,但仍然......是否有可能将与信用卡相关联的国家(如果关联)与Apple ID相关联?

等待回应。

全部谢谢。

2 个答案:

答案 0 :(得分:2)

这两个问题的答案都是否定的(有充分理由)。 Apple不提供对设备所有者Apple ID的编程访问权限。当然也没有与信用卡相关的任何信息。我会请求用户获取其位置的权限并解释您的应用程序需要它的原因(在iOS 6中,您可以提供请求位置的原因的上下文)。

答案 1 :(得分:0)

您可以使用CTTelephonyNetworkInfo访问有关设备SIM卡的数据。当然,仅当用户有SIM卡时才有效。它具有可疑的价值,因为大多数人被允许前往地球上的大多数地方。