CoreTelephony Framework также доступен для Facetime? - PullRequest
2 голосов
/ 26 января 2011

Я разрабатываю приложение, которое работает с FaceTime. К сожалению, пока нет доступных сред или API-интерфейсов Facetime, поэтому я работаю с тем, что у меня есть. Как вы все должны знать, когда выполняется вызов Facetime, родное приложение Phone выполняет свою работу. Единственная проблема заключается в том, что, когда вызов завершен, он остается там.

Что я хочу сделать, так это, после завершения вызова, отправить локальное уведомление пользователю, чтобы спросить, хочет ли он вернуться в мое приложение, и все это с помощью платформы CoreTelephony. Я знаю, что это инфраструктура, находящаяся в процессе разработки, и что она все еще является частной, НО:

Могу ли я использовать этот фреймворк в своем приложении и опубликовать его, без отклонения Apple?

Эта структура работает и для Facetime? Я не могу заставить это работать. Вот что я сделал:

  • Сначала я импортировал фреймворк в заголовочный файл appDelegate
  • А потом ...

.

- (void)applicationDidEnterBackground:(UIApplication *)application{
 NSLog(@"applicationDidEnterBackground");


CTCallCenter *callCenter = [[CTCallCenter alloc] init];
 callCenter.callEventHandler=^(CTCall* call){

  if (call.callState == CTCallStateDialing){ 
   NSLog(@"Call Dialing");
  }
  if (call.callState == CTCallStateConnected){ 
   NSLog(@"Call Connected");
  }
  if (call.callState == CTCallStateDisconnected){ 
   NSLog(@"Call Disconnected");
  }
 };
}

Ничего не отслеживается. Есть идеи?

Обновление: Я просто выполнил небольшой тест, я понял, что мой код отлично работает с реальным телефонным звонком. Блок CTCallCenter должен быть помещен в метод applicationDidBecomeActive tho. Я также понял, что (как говорится в документации Apple), фреймворки отправляют эти уведомления только тогда, когда вы находитесь в своем приложении. Приостановленный режим не получает никаких уведомлений.

1 Ответ

0 голосов
/ 28 ноября 2017

В iOS 10 появился новый CallKit SDK, который позволяет обнаруживать звонки VoIP (включая FaceTime) даже без прав VoIP. Вот отличный ответ, объясняющий, как просто использовать часть наблюдателя.

...