Я разрабатываю приложение, которое работает с 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), фреймворки отправляют эти уведомления только тогда, когда вы находитесь в своем приложении. Приостановленный режим не получает никаких уведомлений.