我可以知道我的应用下载的 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下载”

如何下载iOS App的原始文件?

从我的网站下载 iOS 和 Android 应用程序?

iOS iTunes 应用程序链接不起作用

我可以从我的 iTunesConnect 帐户下载我的 iOS App Store 图标吗?

我想知道我的应用程序如何访问 ios App 中的 SQLite 数据库