以编程方式检测应用程序从哪个应用商店下载

时间:2014-04-24 20:49:18

标签: ios

我还没有找到关于此的帖子所以我必须问:有没有办法以编程方式检测应用程序从哪个应用商店下载? (即:德国App Store)

我不想要求位置权限来检测用户位置,但如果没有办法检测应用商店,那么我可能不得不这样做。

3 个答案:

答案 0 :(得分:8)

如果您有应用内购买,则可以查看SKProduct的{​​{3}},其中包含用户当前登录的商店(货币和国家/地区)。

Apple于10:30在priceLocale会话303优化应用内购买时推荐了这一点。

答案 1 :(得分:5)

我认为您使用用户的当前区域设置来检测它们在哪个国家/地区......但有时可能会失败,因此我不确定检测AppStore的100%有效方法是否有效你。

您需要致电

[[NSLocale currentLocale] objectForKey: NSLocaleCountryCode]

另外,请参阅以下主题中的讨论,其中一些是旧的,但可能会帮助您找到替代解决方案Link1Link2

答案 2 :(得分:0)

NSLocale答案错误,因为系统语言设置不必与应用商店国家/地区匹配。一些用户在国外商店购买,因为有更多内容可用。 使用StoreKit / SKProduct可能有效,但仅适用于商店中分发的应用程序。

如果你在Mac上,你可以直接解析Mac App Store的配置文件,如下所示: https://github.com/core-code/CoreLib/blob/master/Mac/JMHostInformation.m 在“appStoreCountryCode”方法