关于苹果私有API的使用
2015-11-27 18:40
369 查看
自xcode7开始苹果将一些静态库转成了.tbd格式,根据苹果员工的解释,之所以转成.tbd格式,是要提供更加紧凑的静态库,更重要的是减少下载包的大小,(https://forums.developer.apple.com/message/9176#9176)。表面上似乎确实是这样,但是去看看private frameworks后就瞬间明白了。所有的private frameworks都被改成了.tbd文件,头文件是做什么用的呢?头文件其实就是用来暴露接口的。这就意味着苹果不想让我们调用这些.h,使不能通过加入私有库直接调用这些私有API了。 但是如果找到了别人导好的头文件,可以通过动态加载代码的方法调用私有API。(https://github.com/nst/iOS-Runtime-Headers/blob/3686717e107fa36a990fac20c30da2da9a25b698/PrivateFrameworks/PhotoLibrary.framework/PLPhotoLibrary.h)
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/Message.framework"]; BOOL success = [b load]; Class NetworkController = NSClassFromString(@"NetworkController"); id nc = [NetworkController sharedInstance];
相关文章推荐
- dumpsys batterystats
- UI第十三天: 标签视图
- 自定义view实现圆角图片
- Activemq 平台搭建与C#示列
- CSS技巧和经验
- android项目自定义组合控件添加属性
- Bootstrap历练实例:默认的面板(Panels)
- TCP
- Java 字符串的加密和解密
- [SqlServer] 全库搜索指定字符串
- 给label text 上色 && 给textfiled placeholder 上色
- Bootstrap历练实例:大小Well
- 解决web集群多节点访问共享存储权限问题
- 如何将两层板设置成4层板
- 素数的算法
- Bootstrap历练实例:默认的Well
- 文件的上传和下载
- 收藏
- NYOJ 1132 promise me a medal (判断两线段是否相交)
- 打开了新世界的大门,自我总结