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

Avi*_*Avi 7 country app-store in-app

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

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

谢谢,Avi

Avi*_*Avi 5

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

总而言之,执行这些步骤将获得结果,但是以缓慢而非直接的方式:

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