如何确定正在运行的应用程序来自哪个地区的应用商店?

4

有没有办法确定正在运行的应用程序来自哪个地区的应用商店?

我想根据使用的地区设置应用程序中的某些首选项和链接,如果可能的话,我更喜欢不使用GPS。

目前,我们最好的选择似乎是检查手机的语言环境。


3
我不认为这是可能或聪明的。我住在德国,拥有许多来自美国商店的应用程序,这些应用我是收到礼物或只有在美国商店才能下载得到。 - Bastian
这将是一种设置明智默认值的方式,用户可以更改它,因此在该场景下不应该引起问题。 - vlad259
那么,我们可以尝试进行网络调用并使用IP位置数据库吗? - Bastian
我考虑了网络调用 - 但我认为@Jasarien在下面提出了一个很好的观点。这更多关于你的本地偏好,而不是你实际所在的位置。 - vlad259
2个回答

4
当您的应用完成请求IAP产品时,可以获取用户的App Store国家/地区。
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {

    NSArray *products = response.products;
    SKProduct *product = products.lastObject;

    if (product) {
        NSLocale* storeLocale = product.priceLocale;
        // Get it!
        NSString *storeCountry = (NSString*)CFLocaleGetValue((CFLocaleRef)storeLocale, kCFLocaleCountryCode);

    }
}

3
使用设备当前的语言环境是正确的方法。
你无法找出应用程序下载自哪个应用商店地区。
此外,语言环境将告诉您用户偏好的语言/区域设置,而GPS或当前位置仅会告诉您他们所在的位置。
例如,我将我的iPhone设置为英国语言环境,但我可能会去法国度假。如果我在法国时下载了一个应用程序,我不希望它仅为法国用户设置,仅仅因为我在那里。
语言环境是用户选择的偏好设置,随着用户改变位置不会改变。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接