Je voudrais être en mesure de bloquer sélectivement les appels entrants dans une application iOS que j'écris. Ceci est destiné à un usage personnel, pas l'App Store, donc je vais bien utiliser des API privées pour y parvenir.
J'ai récemment rencontré le framework de téléphonie de base. Existe-t-il un moyen d'utiliser ce cadre pour bloquer les appels? Sinon, quelles API privées puis-je utiliser pour cela?
Êtes-vous sûr que ce n'est pas le cas? exemples de code sur http://tech.ruimaninfo.com/?p=83 montre comment faire de telles choses. Les en-têtes de téléphonie principale du SDK ne sont pas terminés. Bien sûr, cela signifie pas de magasin d'applications c'est mon fragment de code basé sur l'exemple que j'ai lié
if ([str1 isEqualToSsortingng:@"kCTCallIdentificationChangeNotification"]) { NSDictionary *info = (__bridge NSDictionary *)userInfo; CTCall2 *call = (__bridge CTCall *)[info objectForKey:@"kCTCall"]; NSSsortingng *caller = CTCallCopyAddress(NULL, call); NSLog(@"Caller %@",caller); if ([caller isEqualToSsortingng:@"+1555665753"]) { //disconnect this call CTCallDisconnect(call); }
définitions supplémentaires nécessaires:
typedef struct __CTCall CTCall; extern NSSsortingng *CTCallCopyAddress(void*, CTCall *); extern void CTCallDisconnect(CTCall*);
et vous devez surveiller le callback du centre de téléphonie (voir l'exemple lié) J'ai testé ce fragment sur mon appareil iOS5
Core Telephony ne supporte pas cela. À ma connaissance, il n'y a aucun moyen de le faire avec des API privées connues non plus.