iOS 调用私有API

来源:互联网 发布:光头大大正太捏脸数据 编辑:程序博客网 时间:2024/05/22 12:30

Objecitve-C的重要特性是Runtime(运行时),在Interacting with the Runtime(交互运行)中,运行时函数部分,苹果给出了/usr/lib/libobjc.A.dylib库,这个共享库提供支持动态属性的objective - c语言,通过其接口,可以用于开发将其他语言运行于Objective-C上的中间层(桥接层),库里的函数定义为纯C语言。

例如:class_getName

[cpp] view plaincopyprint?
  1. class_getName  
  2. Returns the name of a class.  
  3.   
  4. const char * class_getName(Class cls)  
  5. Parameters  
  6. cls  
  7. class object.  
  8. Return Value  
  9. The name of the class, or the empty string if cls is Nil.  
  10.   
  11. Declared In  
  12. runtime.h  


这里我们要用库里的函数,干个“坏事”,查看苹果SDK的私有方法。

第一步:导入头文件

[cpp] view plaincopyprint?
  1. #import <objc/runtime.h>   
第二步:添加下列代码

[cpp] view plaincopyprint?
  1. NSString *className = NSStringFromClass([UIView class]);  
  2.   
  3.       
  4.     const char *cClassName = [className UTF8String];  
  5.       
  6.     id theClass = objc_getClass(cClassName);  
  7.       
  8.     unsigned int outCount;  
  9.       
  10.   
  11.     Method *m =  class_copyMethodList(theClass,&outCount);  
  12.       
  13.     NSLog(@"%d",outCount);  
  14.     for (int i = 0; i<outCount; i++) {  
  15.         SEL a = method_getName(*(m+i));  
  16.         NSString *sn = NSStringFromSelector(a);  
  17.         NSLog(@"%@",sn);  
  18.     }   

第三步:想看什么类 就把UIView换成你想要的


当然,如果只是查看私有API,会有更简单的方法,可以使用工具class-dump,也可以通过此链接,https://github.com/kennytm/iphone-private-frameworks/tree/master/UIKit/    查看。

特别注意的是,如果是需要上架的APP,切勿使用私有API,会通不过APP Store的审核。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为p10费电怎么办 华为mate10卡顿怎么办 荣耀v9拍照模糊怎么办 华为电脑开不了怎么办 华为5x内存不足怎么办 2g电脑内存不足怎么办 电脑内存不够用怎么办 海信电视存储空间不足怎么办 支付宝学校没有怎么办 支付宝没有学历怎么办 华为p9gps信号弱怎么办 小米手机wifi慢怎么办 小米wifi网速慢怎么办 华为mate9网络差怎么办 大王卡信号差怎么办 华为P9Plus忘记密码怎么办 华为手机音质差怎么办 三星c5手机发烫怎么办 华为手机老卡怎么办 小米手机慢卡怎么办 华为指纹识别不灵敏了怎么办 金立手机信号不好怎么办 手机边框坏了怎么办 手机保护膜划了怎么办 车膜贴的有气泡怎么办 手机膜进气泡怎么办 贴的手机膜翘角怎么办 全屏膜出现气泡怎么办 手机膜的气泡怎么办 透明手机壳气泡怎么办 钢化膜边缘有气泡怎么办 贴钢化膜边缘有气泡怎么办 钢化膜边上有泡泡怎么办 贴钢化膜周边有气泡怎么办 钢化膜里面有气泡怎么办 手机保护膜破了怎么办 手机触摸屏没反应怎么办 苹果手机触屏坏了怎么办 手机边缘有气泡怎么办 手机膜有空气怎么办 电脑膜有气泡怎么办