2011-09-06 14 views
13

मैं लिख रहा हूं कि एक आईओएस आवेदन में आने वाली कॉल को चुनिंदा रूप से ब्लॉक करने में सक्षम होना चाहूंगा। यह व्यक्तिगत उपयोग के लिए है, ऐप स्टोर नहीं, इसलिए मैं इसे पूरा करने के लिए निजी एपीआई का उपयोग करने के साथ ठीक हूं।आईओएस एप्लिकेशन में आने वाली कॉल को अवरुद्ध करने के लिए मैं निजी एपीआई का उपयोग कैसे कर सकता हूं?

मैं हाल ही में कोर टेलीफोनी ढांचे में आया हूं। कॉल को ब्लॉक करने के लिए इस ढांचे का उपयोग करने का कोई तरीका है? यदि नहीं, तो मैं ऐसा करने के लिए किस निजी एपीआई का उपयोग कर सकता हूं?

उत्तर

35

क्या आपको यकीन है कि यह नहीं है? http://tech.ruimaninfo.com/?p=83 पर कोड उदाहरण दिखाते हैं कि ऐसी चीजें कैसे करें। एसडीके में कोर टेलीफोनी हेडर पूर्ण नहीं हैं। बेशक यह कोई app की दुकान का मतलब है इस उदाहरण पर आधारित है मेरी कोड टुकड़ा मैं

जुड़ा हुआ
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*); 

और आप टेलीफोनी केंद्र के कॉलबैक (लिंक किए गए उदाहरण देखें) पर नजर रखने की जरूरत है मैंने अपने आईओएस 5 डिवाइस

+0

मैं नहीं, मैं इसे ऐप स्टोर पर नहीं डाल सकता लेकिन मैं उस लिंक का उपयोग करके एक विशिष्ट संख्या को कैसे ब्लॉक करूं? –

+0

मैंने अपना उत्तर अपडेट किया – dkzm

+0

अभी तक, मुझे कोई बदलाव नहीं दिख रहा है:/ –

3

कोर टेलीफोनी इसका समर्थन नहीं करता है। मेरे ज्ञान के लिए किसी भी ज्ञात निजी एपीआई के साथ ऐसा करने का कोई तरीका नहीं है।

+3

पर इस खंड का परीक्षण किया, तो iBlackList और MCaller यह कैसे करता है? –

+1

@ एच 2CO3, मैंने कहां कहा "यह असंभव है"? –

+2

@ ग्रेगमार्टिन "मेरे ज्ञान के लिए किसी भी ज्ञात निजी एपीआई के साथ ऐसा करने का कोई तरीका नहीं है।" –

संबंधित मुद्दे