Отключить Callkit из China Store Лучший подход? - PullRequest
0 голосов
/ 25 июня 2018

Мы используем инфраструктуру CallKit, чтобы использовать преимущества VoIP-функций. Пользователи могут совершать голосовые и видеозвонки в нашем приложении Messenger.

Но Apple удаляет приложения CallKit из Китая из-за правительства Китая.

Каков наилучший подход для приложений CallKit, таких как мы, на данный момент?

Мы не хотим удалять наше приложение из Китая, и мы не удаляем все функциональные возможности CallKit из нашего приложения из-за Китая ..

Ответы [ 2 ]

0 голосов
/ 13 июля 2018

Я согласен с txulu, что кажется, что CallKit просто необходимо отключить / не использовать для пользователей в Китае - см. Этот полезный ответ на форумах разработчиков Apple .

По общему мнению, до тех пор, пока вы можете объяснить App Review, как отключаете функции CallKit для пользователей в Китае, это, вероятно, будет приемлемо, если / пока Apple не опубликует конкретные рекомендации.

Для вашей конкретной проблемы Ахмет, похоже, что CallKit может обеспечить некоторые основные функции вашего приложения. Если это так, и вам действительно нужно поддерживать пользователей в Китае, вы можете подумать о перестройке своего приложения с использованием другой платформы VOIP для совершения звонков (VOIP по-прежнему разрешен в Китае ... только без использования CallKit). Или, возможно, вы можете отключить и скрыть функции вызова в своем приложении, если пользователь находится в Китае.

Мое приложение использовало CallKit только для наблюдения, когда заканчивается вызов, инициированный моим приложением, поэтому я смог придумать обходной путь. Что касается пользователей в Китае, я теперь наблюдаю за UIApplicationDidBecomeActiveNotification и делаю мои лучшие предположения о том, закончился ли телефонный звонок, инициированный из приложения, исходя из того, сколько времени прошло с момента начала вызова. Это не так хорошо, как использование CallKit CXCallObserver, но, похоже, он достаточно хорош для моей цели.


Обновление! Мое приложение прошло проверку в App Store с описанным исправлением.

  • Представил новую версию вчера.
  • Включено короткое сообщение в разделе информации о рецензенте: «В этой версии и далее мы не используем функции CallKit для пользователей в Китае. Мы определяем регион пользователя с помощью NSLocale».
  • Приложение было одобрено около 12 часов спустя без каких-либо вопросов или комментариев от команды проверки приложения.

Обнаружение пользователей в Китае

Чтобы определить, находится ли пользователь в Китае, я использую NSLocale, чтобы получить для пользователей currentLocale и countryCode. Если countryCode содержит один из кодов ISO для Китая (CN, CHN), я устанавливаю флаг, чтобы отметить, что я не могу использовать CallKit и не инициализировать или использовать функции 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".

0 голосов
/ 04 июля 2018

Одна вещь, которую вы можете попробовать, даже если она может не сработать: отключить функцию callkit в зависимости от региона. Это может быть достаточным «доказательством» того, что Callkit отключен для Китая с юридической точки зрения, чтобы быть утвержденным для Appstore. Тогда ваши китайские клиенты могут просто переключить регион в настройках, чтобы получить Callkit. Это было бы уже "их" проблемой, так сказать.

Отказ от ответственности: я ни в коем случае не юрист или что-либо, следуйте этому совету на свой страх и риск.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...