我可以知道我的应用下载的 iOS App Store 的地区吗?
Posted
技术标签:
【中文标题】我可以知道我的应用下载的 iOS App Store 的地区吗?【英文标题】:Can I know the region of iOS App Store that my app downloaded from? 【发布时间】:2018-06-27 02:46:06 【问题描述】:我是一名 ios 开发人员。
最近我被告知我需要从我在中国地区的应用程序中删除 Callkit。但是我不能只发布一个没有与原始应用程序分离的Callkit的中文版本。因为我们的服务器端已经卖给客户了,我无法为他们一一修改苹果推送证书。所以我需要在运行时识别中国地区。
使用位置不是一个好主意,因为我们的应用与用户的位置无关,并且可以在设置中轻松关闭。是否可以在运行时知道我的应用最初下载的 App Store 区域?
谢谢。
【问题讨论】:
可能唯一的方法是检查设备的公共地址;如果它映射到中国,则禁用 Callkit 功能。 【参考方案1】:检查语言环境区域怎么样?这听起来很愚蠢而且很容易规避,但它可能足以满足中国的法律要求...... 类似于:
// Chinese country codes
NSString *const MacauChinaCountryCode = @"MO";
NSString *const ChinaCountryCode = @"CN";
NSString *const HongKongChinaCountryCode = @"HK";
...
- (BOOL)isRegionSupportedByCallKit
NSString *currentCountryCode = [NSLocale currentLocale].countryCode;
NSArray<NSString *> *chineseCountryCodes = @[MacauChinaCountryCode, ChinaCountryCode, HongKongChinaCountryCode];
return ![chineseCountryCodes containsObject:currentCountryCode];
【讨论】:
感谢您的回复。可以在 iOS 设置中手动设置区域设置吗?我不确定 Apple 是否会批准这个... 我目前正在使用来自here 的运营商国家代码。但我预计会有很多关于这种变化的抱怨。如果用户能绕道而行就好了。 是的,很容易设置。但它已经是用户自己绕过它了,从法律的角度来看,这可能就足够了......以上是关于我可以知道我的应用下载的 iOS App Store 的地区吗?的主要内容,如果未能解决你的问题,请参考以下文章
Facebook App Review iOS - 无法选择“从Apple App Store下载”