Определить номер входящего звонка в iPhone - PullRequest
0 голосов
/ 24 января 2012

Откуда мне знать, кто мне звонит? Укажите номер или даже контакт в моем списке дел.

С помощью этого кода я могу определить, есть ли звонок или нет.

void (^ctCallStateMuda)(NSNotification *) = ^(NSNotification * notification) {
    NSString *callInfo = [[notification userInfo] objectForKey:@"callState"];
    if ([callInfo isEqualToString:CTCallStateIncoming]) {
        NSLog(@">>>>>> chegando");
    } else if ([callInfo isEqualToString:CTCallStateConnected])  {
        NSLog(@">>> atendendo <<<");        
    }  else if ([callInfo isEqualToString:CTCallStateDisconnected])  {
        NSLog(@"desconectado >>>>>>");        
    } else if ([callInfo isEqualToString:CTCallStateConnected])  {
        NSLog(@"discando");        
    } else {
        NSLog(@"nada");        
    }
};

CTCallCenter *callCenter;
callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler = ^(CTCall* aCallIncomming) {
    NSDictionary *dict = [NSDictionary dictionaryWithObject:aCallIncomming.callState
                                                     forKey:@"callState"];

    [[NSNotificationCenter defaultCenter] postNotificationName:@"CTCallStateDidChange"
                                                        object:self
                                                      userInfo:dict];
};

[[NSNotificationCenter defaultCenter] addObserverForName:@"CTCallStateDidChange" 
                                                  object:nil 
                                                   queue:nil 
                                              usingBlock:ctCallStateMuda];

1 Ответ

2 голосов
/ 24 января 2012

У вас нет доступа к этой информации в общедоступном SDK (взломанный iPhone - другое дело). Apple запрещает приложениям иметь доступ к любой информации, относящейся к истории вызовов. Код, который вы разместили выше, позволяет вашему приложению определять, когда пользователь получает телефонный звонок, и соответствующим образом адаптировать его интерфейс, но это все.

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