इस कोड स्निपेट को एसएमएस संदेशों को अवरुद्ध करना चाहिए- आप इसे अन्य प्रकार की अधिसूचनाओं के लिए बढ़ा सकते हैं। आईओएस 5.0.1 पर भी काम करेगा। हालांकि iMessages के साथ काम नहीं करता है। CoreTelephony ढांचे के साथ लिंक (निजी हेडर की गुच्छा देखते हैं जो आप चाहते वर्ग डंप कर सकते हैं)
#include <dlfcn.h>
#define CORETELPATH "/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"
id(*CTTelephonyCenterGetDefault)();
void (*CTTelephonyCenterAddObserver) (id,id,CFNotificationCallback,NSString*,void*,int);
static void telephonyEventCallback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)
{
NSString *notifyname=(NSString *)name;
if ([notifyname isEqualToString:@"kCTMessageReceivedNotification"])//received SMS
{
NSLog(@" SMS Notification Received :kCTMessageReceivedNotification");
// Do blocking here.
}
}
-(void) registerCallback {
void *handle = dlopen(CORETELPATH, RTLD_LAZY);
CTTelephonyCenterGetDefault = dlsym(handle, "CTTelephonyCenterGetDefault");
CTTelephonyCenterAddObserver = dlsym(handle,"CTTelephonyCenterAddObserver");
dlclose(handle);
id ct = CTTelephonyCenterGetDefault();
CTTelephonyCenterAddObserver(
ct,
NULL,
telephonyEventCallback,
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
}
यदि आप इस प्रश्न में रुचि रखते हैं तो [जेल ब्रेकिंग स्टैक एक्सचेंज साइट] (http://area51.stackexchange.com/proposals/18154/ios-jailbreaking-development?referrer=EuWVi6IpN0_KzzEhC7I के लिए एरिया 51 प्रस्ताव का समर्थन क्यों नहीं करते हैं) -QW2) – rjstelling