IOS开发到底有多难
一.基本知识
iPhone中的API除了公开的API:PublishedAPI外(或者叫文档中记录的API:DocumentedAPI),还有两类API:私有API:PrivateAPI和未公开的API:UnPublishedAPI(或者叫文档中未记录的API:API)。其中私有API是指放在框架中的API,未公开的API是指虽然放在Frameworks框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等记录的API。后两种API是有区别的,按苹果的说法,未公开的API是还不够成熟,可能还会变动的API,等完全成型了后会变成公开的API,但是目前不对其提供承诺,就是系统版本升级后可能会失效。而私有API是苹果明确不能使用的API。虽然两者有所区别,但是在具体使用方法上是类似的。
二.具体介绍
1.导出生成私有API的头文件声明
使用私有或未公开的API,首先需要导出其对应的头文件,在头文件里有相关函数的声明。
工具:
class-mp
class-mp可以从编译后的Objective-C的二进制文件中提取对应的数据结构及函数等声明。
使用方法:
为了能在任意目录下使用class-mp命令,首先建议把class-mp文件拷贝到/user/local/bin/目录下,然后就可以在任意目录下执行以下命令:
class-mp/Developer/Platforms/.platform/Developer/SDKs/.0.sdk/System/Library/Frameworks/UIKit.framework/>UIKit.h
以上命令就可以把.0.Sdk中Frameworks框架里的UIKit.Framework框架的数据结构及函数声明等给提取出来,并且放在UIKit.h这个文件中,之后你就可以在这个头文件中找需要API的声明及其使用方式。以同样的方法,就可以挨个导出你需要那个框架中的API声明。
也可以用ericasan写的.pl(文件中有部分注释说明)这个文件把私有框架下的API头文件全部提取出来。使用方法也是首先把class-mp文件拷贝到/user/local/bin/目录下,然后在任意一个目录下执行./.pl,然后就会在家目录下产生一个Headers文件夹,里面罗列了私有框架下的API头文件。
2.使用私有API
导出了私有API的头文件声明后,使用方法就比较简单了,首先在工程中包含进头文件,然后导入对应的框架,之后就可以类似提供了静态库的方式在代码中使用这些私有API函数。
三.附加说明
iPhone编程中一些非常精致好玩的API都包含在私有API或未公开的API中,虽然可以以这种方式使用这些非常好的API,但是这样做是存在一定风险的,首先为公开的API有变更的可能,这样在每个固件版本中,代码都有可能中断。同时最大的问题是使用了私有API的程序是不能放在AppStore上销售的。因此如果只是为了好玩体验iPhone中这些精彩的API,那没关系。如果是为了做出程序放在AppStore上销售的,那就不要动私有API的主意了。
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇