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

Posted

技术标签:

【中文标题】iOS 编程 - 如何发现应用是从哪个(国家的)应用商店下载的【英文标题】:iOS programming - how to discover from which (country's) app store the app was downloaded 【发布时间】:2013-07-05 14:18:57 【问题描述】:

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

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

谢谢, 视频

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于iOS 编程 - 如何发现应用是从哪个(国家的)应用商店下载的的主要内容,如果未能解决你的问题,请参考以下文章

iOS iTunes 商店国家

如何在 iOS 中获取用户的国家/地区呼叫代码?

iAd如何根据国家选择广告?

如何在代码中识别 Apple App Store 国家/地区

iPhone X 在哪个国家最畅销?苹果终于被警告了

如何在 iOS 上以编程方式创建选项卡视图