//using private API
//CoreTelephony framework is needed
extern NSString* const kCTSMSMessageReceivedNot<wbr>ification;<br>
extern NSString* constkCTSMSMessageReplaceRece<wbr>ivedNotification;<br>
extern NSString* const kCTSIMSupportSIMStatusNo<wbr>tInserted;<br>
extern NSString* const kCTSIMSupportSIMStatusRe<wbr>ady;</wbr></wbr></wbr></wbr>
typedef struct __CTCall CTCall;
extern NSString *CTCallCopyAddress(void*, CTCall *);
void* CTSMSMessageSend(id server,id msg);
typedef struct __CTSMSMessage CTSMSMessage;
NSString *CTSMSMessageCopyAddress(void *, CTSMSMessage *);
NSString *CTSMSMessageCopyText(void *, CTSMSMessage *);
int CTSMSMessageGetRecordIde<wbr>ntifier(void * msg);<br>
NSString * CTSIMSupportGetSIMStatus<wbr>();<br>
NSString * CTSIMSupportCopyMobileSu<wbr>bscriberIdentity();</wbr></wbr></wbr>
id CTSMSMessageCreate(void* unknow,NSString* number,NSString*text);
void * CTSMSMessageCreateReply(void* unknow,void *forwardTo,NSString* text);
id CTTelephonyCenterGetDefa<wbr>ult(void);<br>
voidCTTelephonyCenterAddObse<wbr>rver(id,id,CFNotificationCallback,NSString*,void*,int);<br>
void CTTelephonyCenterRemoveO<wbr>bserver(id,id,NSString*,void*);<br>
int CTSMSMessageGetUnreadCou<wbr>nt(void);</wbr></wbr></wbr></wbr>
static void callback(CFNotificationCenterRef center, void*observer, CFStringRef name, const void *object, CFDictionaryRefuserInfo)
{
NSString *notifyname=(NSString *)name;
if ([notifynameisEqualToString:@"kCTCallStatusChangeNotif<wbr>ication"])//phonecall<br>
{<br>
NSDictionary *info = (NSDictionary*)userInfo;</wbr>
NSString *state=[[info objectForKey:@"kCTCallStatus"]stringValue];
if ([state isEqualToString:@"5"])//disconnect
NSLog(@”unanswered:%@”,state);
}
else if ([notifynameisEqualToString:@"kCTCallIdentificationCha<wbr>ngeNotification"])<br>
{<br>
// CTCallCenter *center = [[CTCallCenter alloc] init];<br>
// center.callEventHandler = ^(CTCall *call) {<br>
// NSLog(@”call:%@”, [call description]);<br>
// };</wbr>
NSDictionary *info = (NSDictionary *)userInfo;
CTCall *call = (CTCall *)[info objectForKey:@"kCTCall"];
NSString *caller = CTCallCopyAddress(NULL, call);
NSLog(@”电话号码:%@”,caller);
//CTCallDisconnect(call);
}
else if ([notifynameisEqualToString:@"kCTRegistrationDataStatu<wbr>sChangedNotification"])<br>
{</wbr>
}
else if ([notifynameisEqualToString:@"kCTSMSMessageReceivedNot<wbr>ification"])<br>
{//api expired<br>
if ([[(NSDictionary *)userInfo allKeys]<br>
containsObject:@”kCTSMSMessage”]) // SMS Message<br>
{<br>
CTSMSMessage *message = (CTSMSMessage *)<br>
[(NSDictionary *)userInfo objectForKey:@"kCTSMSMessage"];<br>
NSString *address = CTSMSMessageCopyAddress(NULL, message);<br>
NSString *text = CTSMSMessageCopyText(NULL, message);<br>
//NSArray *lines = [text componentsSeparatedByStr<wbr>ing:@"\n"];</wbr></wbr>
//printf(” %s %d\n”, [address cString], [lines count]);
//printf(” %s\n”, [text cString]);
fflush(stdout);
}
}
else if ([notifynameisEqualToString:@"kCTMessageReceivedNotifi<wbr>cation"])//receivedSMS<br>
{<br></wbr>
NSDictionary *info = (NSDictionary *)userInfo;
CFNumberRef msgID = (CFNumberRef)[infoobjectForKey:@"kCTMessageIdKey"];
int result;
CFNumberGetValue((CFNumberRef)msgID, kCFNumberSInt32Type,&result);
}
else if ([notifynameisEqualToString:@"kCTIndicatorsSignalStren<wbr>gthNotification"])//signal<br>
{<br></wbr>
}
else if ([notifynameisEqualToString:@"kCTRegistrationStatusCha<wbr>ngedNotification"])//networkregistration status<br>
{<br></wbr>
}
else if ([notifynameisEqualToString:@"kCTRegistrationDataStatu<wbr>sChangedNotification"])<br>
{<br><br>
}<br>
else if ([notifynameisEqualToString:@"kCTRegistrationCellChang<wbr>edNotification"])<br>
{<br><br>
}<br>
else if ([notifynameisEqualToString:@"kCTIndicatorRadioTransmi<wbr>tNotification"])<br>
{<br><br>
}<br>
//int unread=CTSMSMessageGetUnreadCou<wbr>nt();<br>
//if (unread>0)<br>
//NSLog(@”unread SMS:%d”,unread);</wbr></wbr></wbr></wbr>
NSLog(@”name:%@-detail:%@”,notifyname,userInfo);
}
static void signalHandler(int sigraised)
{
printf(“\nInterrupted.\n”);
exit(0);
}
//—————–
id ct = CTTelephonyCenterGetDefa<wbr>ult();<br>
CTTelephonyCenterAddObse<wbr>rver(ct, NULL, callback, NULL, NULL,CFNotificationSuspension<wbr>BehaviorHold);<br>
// Handle Interrupts<br>
sig_t oldHandler = signal(SIGINT, signalHandler);<br>
if (oldHandler == SIG_ERR)<br>
{<br>
printf(“Could not establish new signal handler”);<br>
exit(1);<br>
}<br>
// Run loop lets me catch notifications<br>
printf(“Starting run loop and watching for notification.\n”);<br>
//CFRunLoopRun();</wbr></wbr></wbr>
相关推荐
这是最新的ios 6私有api头文件 ,里边包含了各个privateframework的类
IOS 私有API
IOS7最新私有API,object-c全
检查iOS源代码是否包含私有API工具,在提交AppStore审核前用这个工具检查一下十分必要,减少被拒的概率。
如何从XCode安装目录中导出私有Api的头文件 mac 10.9.1上执行成功
ios的私有的api,希望大家多看看,ios的私有的api。
基于IOS7 下的 私有API 。从网上收集的。
使用私有API实现蓝牙功能 实现打开关闭,给出提示,如果需要搜索周边蓝牙等可以跟到程序里看相关API。 不过是私有API,请慎用噢,使用了私有API的IOS APP是不能通过APP store审核的。
iOS 私有 API 扫描器,能识别出大部分私有API
RuntimeBrowser查看iOS系统私有API-附件资源
主要介绍了iOS查找私有API的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
私人通讯录:利用导航控制器正向反向传输数据
iOS-private-api-checker私有API检查详细步骤(涉及到 Python、Flask、sqlite 环境)
ios_private.db https://github.com/NetEaseGame/iOS-private-api-checker iOS-private-api-checker 苹果iOS私有API检查工具 构建私有api库
iphone 系统api录音功能实现 ,demo也是看的别人的,自己添加了写自己需要的。
2 https://github.com/coolstar/RecordMyScreen (私有API截屏,如果要发布到appstore,请修改) 存在问题: 1 屏幕截屏计算截图 时间序列时太耗cpu,需要改进(采用定时器) 2 视频编码的一些参数在像iphon4及低版本...
墙活动 用于设置 iOS 壁纸的 UIActivity 子类(使用一些私有 API) 随意在您的项目中使用它,但不要忘记将您归功于我 :D (@iMokhles) 麻省理工学院执照
用于获取iOS 私有api,此版本目前可用,使用方法参考我博客