Mel*_*rne 8 app-store ios swift
我想在我的应用程序中(通过代码)知道我的用户在哪个应用程序商店(如英国/法国/西班牙等)。
我已经读到我们可以用语言环境做到这一点:https : //developer.apple.com/documentation/foundation/nslocale/1643060-countrycode
但我想用 Apple Store 来做。出于法律目的,我不想为欧洲人显示与美国人相同的内容。
有人已经做到了吗?谢谢 !
ban*_*isa 13
如果您使用的是 iOS 13+,这将为您提供商店的 3 个字母国家/地区代码:
import StoreKit
let country = SKPaymentQueue.default().storefront?.countryCode
Run Code Online (Sandbox Code Playgroud)
有关其用法的更多信息可以在SKStoreFront 文档中找到。
更新:有时,此方法返回 nil,这就是为什么 storefront 是可选的。所以它不是100%可靠。我与数千名用户一起使用,并且 95% 的时间都可以正常工作。但我不完全确定在什么情况下它为零。
您无法限制特定国家/地区的 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
}
Run Code Online (Sandbox Code Playgroud)
小智 8
从 iOS13SKStorefront类属性countryCode可用于获取代表与 App Store 店面关联的国家/地区的三字母代码。
对于低于 13 的 iOS 版本,唯一可行的解决方案是priceLocale从SKProduct.
| 归档时间: |
|
| 查看次数: |
6179 次 |
| 最近记录: |