gpt4 book ai didi

ios - 此应用无法通过在中国激活的 CallKit 功能获得批准。请进行适当的更改并重新提交此应用以供审核

转载 作者:可可西里 更新时间:2023-11-01 04:42:59 25 4
gpt4 key购买 nike

最近,中国工业和信息化部 (MIIT) 要求在中国 App Store 上提供的所有应用程序中停用 CallKit 功能。在审核过程中,我们发现您的应用目前包含 CallKit 功能,并且在 iTunes Connect 中将中国列为可用地区。

现在,问题是下一步,应用中需要进行哪些更改

如果没有办法,我怎样才能从 Apple store 中删除瓷器。

如果有人遇到此类问题,请分享您的建议。

问候,

最佳答案

我对这个问题的处理方法受到了 Apple Developer forums 上的这个回应的启发。 .目前开发者的普遍共识似乎是 App Review 没有给出具体的建议,也没有解释或要求具体的技术解决方案。我认为只要你能向 App Review 解释你是如何为中国用户禁用 CallKit 的,那是可以接受的。

我在下面讨论时更新了我的应用程序,它首次通过了 App Store 审核,我们于 2018 年 7 月 24 日在中国重新发布。

  • 当我将更新后的应用程序提交到 App Store 时,我在评论者信息部分添加了一条短消息说

"In this version and onwards, we do not use CallKit features for users in China. We detect the user's region using NSLocale."

  • 我的应用在 12 小时后获得批准,应用审核团队没有提出任何问题或意见。

检测中国用户

在我的应用中,我使用 NSLocale 来确定用户是否在中国。如果是这样,我不会在我的应用程序中初始化或使用 CallKit 功能。

- (void)viewDidLoad {
[super viewDidLoad];

NSLocale *userLocale = [NSLocale currentLocale];
if ([userLocale.countryCode containsString: @"CN"] || [userLocale.countryCode containsString: @"CHN"]) {
NSLog(@"currentLocale is China so we cannot use CallKit.");
self.cannotUseCallKit = YES;
} else {
self.cannotUseCallKit = NO;
// setup CallKit observer
self.callObserver = [[CXCallObserver alloc] init];
[self.callObserver setDelegate:self queue:nil];
}
}

要对此进行测试,您可以在“设置”>“通用”>“语言和地区”>“地区”中更改地区。当我将区域设置为“中国”但将语言设置为英语时,[NSLocale currentLocale] 返回 "en_CN"

我正在使用 CXCallObserver 来观察从我的应用发起的调用的状态。当我无法使用 CallKit 监控调用时,我的一般解决方法是:

  • 在通话开始时保存 NSDate
  • UIApplicationDidBecomeActiveNotification 的观察者,带有带有到期处理程序的 UIBackgroundTask(我的应用程序已经启用了后台模式)
  • 当应用程序从后台返回时,检查耗时,如果小于 5 秒且小于 90 分钟,则假设通话结束并保存(我需要跟踪通话时长)。
  • 如果调用了 backgroundTaskExpirationHandler,则假设调用结束并保存结束时间。
  • 我决定等到至少 5 秒过去,因为我注意到 -applicationDidBecomeActive 通常在调用开始时被调用一次或两次,通常是在前 1-3 秒内。

关于ios - 此应用无法通过在中国激活的 CallKit 功能获得批准。请进行适当的更改并重新提交此应用以供审核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50460864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com