7

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

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

谢谢,阿维

4

1 回答 1

5

经过进一步调查,我发现在 store-kit 中查询产品时,SKProduct 返回一个名为 priceLocale 的属性,该属性由国家代码和货币代码组成。priceLocale 的国家代码似乎与用户的应用商店一致。

总而言之,执行这些步骤会得到结果,但是以一种缓慢且不直接的方式:

  1. 定义一个应用内项目;
  2. 在您的应用中查询该项目;
  3. 根据[product.priceLocale objectForKey:NSLocaleCountryCode]判断用户所在国家;
  4. 向用户展示您的应用在其国家/地区支持的相关产品。
于 2013-07-09T07:37:01.600 回答