【问题标题】:Can I know the region of iOS App Store that my app downloaded from?我可以知道我的应用下载的 iOS App Store 的地区吗?
【发布时间】:2018-06-27 02:46:06
【问题描述】:

我是一名 iOS 开发人员。

最近我被告知我需要从我在中国地区的应用程序中删除 Callkit。但是我不能只发布一个没有与原始应用程序分离的Callkit的中文版本。因为我们的服务器端已经卖给客户了,我无法为他们一一修改苹果推送证书。所以我需要在运行时识别中国地区。

使用位置不是一个好主意,因为我们的应用与用户的位置无关,并且可以在设置中轻松关闭。是否可以在运行时知道我的应用最初下载的 App Store 区域?

谢谢。

【问题讨论】:

  • 可能唯一的方法是检查设备的公共地址;如果它映射到中国,则禁用 Callkit 功能。

标签: ios 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 的运营商国家代码。但我预计会有很多关于这种变化的抱怨。如果用户能绕道而行就好了。
  • 是的,很容易设置。但它已经是用户自己绕过它了,从法律的角度来看,这可能就足够了......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 2012-02-21
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多