Я звоню из своего приложения с этим кодом (я использую webview, потому что после завершения звонка я не хочу показывать приложение для набора номера):
UIWebView *callWebview = [[UIWebView alloc] init];
[self.view addSubview:callWebview];
NSURL *telURL = [NSURL URLWithString:tel];
[callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
Я обнаруживаю завершение звонка подпиской на уведомление
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ctCallStateDidChange1:) name:@"CTCallStateDidChange" object:nil];
- (void)ctCallStateDidChange1:(NSNotification *)notification
{
NSString *call = [[notification userInfo] objectForKey:@"callState"];
if ([call isEqualToString:CTCallStateDisconnected])
{
NSLog(@"Call has been disconnected");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Obvestilo" message:@"Some text?"
delegate:self cancelButtonTitle:@"Yes" otherButtonTitles: @"No", nil];
[alert show];
}
}
}
Мне нужно показать оповещение после завершения вызова и восстановления контроля в моем приложении, но иногда это занимает некоторое время, когда обнаруживается окончание вызова с уведомлением, и мое приложение не отвечает на запросы в течение этого периода.
У вас есть идеи, что делать?