Подтвердить что ты не робот

Как я могу использовать частные API для блокировки входящих вызовов в приложении iOS?

Я хотел бы иметь возможность выборочно блокировать входящие вызовы в приложении iOS, которое я пишу. Это предназначено для личного использования, а не для App Store, поэтому я в порядке с использованием частных API для этого.

Недавно я столкнулся с базой Core Telephony. Есть ли способ использовать эту инфраструктуру для блокировки вызовов? Если нет, какие частные API можно использовать для этого?

4b9b3361

Ответ 1

Вы уверены, что нет? примеры кода на http://tech.ruimaninfo.com/?p=83 показывают, как это делать. Заголовки основной телефонной сети в SDK не завершены. Конечно, это означает, что нет магазина приложений это мой фрагмент кода, основанный на примере, который я связал

if ([str1 isEqualToString:@"kCTCallIdentificationChangeNotification"])
{
    NSDictionary *info = (__bridge NSDictionary *)userInfo;
    CTCall2 *call = (__bridge CTCall *)[info objectForKey:@"kCTCall"];
    NSString *caller = CTCallCopyAddress(NULL, call);
    NSLog(@"Caller %@",caller);
    if ([caller isEqualToString:@"+1555665753"])
    {
       //disconnect this call
       CTCallDisconnect(call);

}

необходимы дополнительные определения:

typedef struct __CTCall CTCall;
extern NSString *CTCallCopyAddress(void*, CTCall *);
extern void CTCallDisconnect(CTCall*);

и вам нужно отслеживать обратный вызов центра телефонии (см. связанный пример) Я протестировал этот фрагмент на своем устройстве iOS5

Ответ 2

Core Telephony не поддерживает это. Насколько я знаю, нет никакого способа сделать это с помощью каких-либо известных частных API.