iOS编程 - 如何发现从哪个(国家/地区)应用商店下载应用

时间:2013-07-08 09:40:00

标签: app-store country in-app

正如iOS开发人员所知,您只能为应用商店中的应用和应用内商品设置一个价格等级。但是,您可以(理论上)将其作为具有不同价格的不同国家/地区的单独应用程序发布。我想对相同应用的应用内商品做同样的事情 - 定义替代应用内商品,并根据用户的国家/地区控制应用中的可见度。我不想使用NSLocale或NSTimeZone,因为它们可以在设置中更改。我想知道应用商店/用户所连接的国家/地区。

例如,我想为大多数用户提供自动续订订阅,但我知道在以色列应用商店中无法使用自动续订订阅,因此我想向以色列用户展示不续订的订阅,而不是向他们展示自动更新的。是否有可靠的方法来实现这一目标?

谢谢, 阿维

1 个答案:

答案 0 :(得分:5)

在进一步调查之后,我发现当在商店套件中查询产品时,SKProduct会返回一个名为priceLocale的属性,该属性由国家/地区代码和货币代码组成。 priceLocale的国家/地区代码似乎与用户的应用商店保持一致。

总而言之,执行这些步骤会得到结果,但速度缓慢且不直接:

  1. 定义应用内商品;
  2. 在您的应用中查询该项;
  3. 根据[product.priceLocale objectForKey:NSLocaleCountryCode]确定用户的国家/地区;
  4. 向用户显示您的应用在其所在国家/地区支持的相关产品。