我在我的应用程序中有一个特定的情景,需要基于位置或说用户的国家/地区来显示某些内容(来自服务)。

我有两种/三种方式,我可以实现这一点,但他们有一些如下所述的缺点。

1)使用nslocale

nslocale * locale= [nslocale currentlocale]; nsstring * countrycode= [locale objectforkey:nslocalecountrycode];
缺点:可以通过用户更改,这是可配置的 - >常规 - >国际 - >区域格式

2)使用核心位置

确定纬度和经度(cllocationManager&Clllocation)。从纬度和经度确定国家使用反向地理编码。 在我看来最准确的服务方式。

缺点:如果用户不允许核心位置服务找不到LUT和LONG,再次依赖于用户。

这是我几个问题

1)我想知道Apple是否有API,可帮助我知道我的申请的购买和替代本Apple ID所属的国家/地区的Apple ID?

2)这一个考虑到苹果的安全环境可能是强度不可能的,但仍然可以获得与苹果ID的信用卡(如果相关)相关联的国家/地区?

等待响应。

谢谢所有人。

有帮助吗?

解决方案

两个问题的答案是否(出于充分原因)。Apple不提供对设备所有者的Apple ID的程序化访问。并且当然不是与信用卡相关的任何信息。我会询问用户权限获取他们的位置并解释您的应用程序需要它的原因(在iOS 6中,您可以为要求提供为什么位置的上下文)。

其他提示

您可以使用cttelephonynetworkinfo访问有关设备的SIM卡的数据。当然,只有用户有SIM卡。这是可疑的价值,因为大多数人被允许前往地球上大多数地方。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top