iOS - 了解应用商店国家/地区

时间:2018-03-19 17:02:01

标签: ios swift app-store

我想在我的应用程序(通过代码)中了解我的用户所在的应用商店(例如英格兰/法国/西班牙等)。

我已经读过我们可以使用语言环境执行此操作: https://developer.apple.com/documentation/foundation/nslocale/1643060-countrycode

但我想与Apple Store合作。出于法律目的,我不想为欧洲人展示与美国人相同的内容。

有人已经完成了吗?谢谢!

2 个答案:

答案 0 :(得分:7)

在iOS13中,SKStorefront类属性countryCode可用于获取代表与App Store店面关联的国家/地区的三个字母的代码。

对于低于13的iOS版本,唯一可行的解​​决方案是从priceLocale获取SKProduct

答案 1 :(得分:3)

您不能为特定国家/地区限制IAP(因此您没有使用的Apple Store的信息)。 您可以通过检查国家/地区ID来禁用/启用项目。

有不同的检查方式,对我而言,最好的方法是检查用户运营商ID。

例如:

func checkCellularNumber() -> Bool {
    let networkInfo = CTTelephonyNetworkInfo()
    guard let info = networkInfo.subscriberCellularProvider else {return false}
    if let carrier = info.isoCountryCode {
        print("Carrier code = \(carrier)");
        return true
    }
    return false
}