自问自答吧
有本叫osx ios kernel programming的书
首先确定方向是在内核扩展层面。看到proxifier的内核扩展模块就确定了。
接着跟着例子把hello world先给做一遍,熟悉步骤。途中会遇到10.10对非签名内核扩展的限制问题,临时解决方案是关闭验证。fuse相关的一个网页对此有详细说明,包括这么做的后果以及出问题怎么修复。
我做完这个直接跳到网络那章,途中顺带把后面高级章节里的用户空间与内核空间的通信方式看了。期间配合着xcode的文档。
就两个层面通信的程序做了些简单的并发测试后,确定需要用到锁。准备回头把整本书通读一遍,主要是把内存管理和锁、线程的知识补上。
做这个程序时遇到了还没在书上看到的问题,对应链接错误。搜索后得知kextlib就是找出扩展需要链接的库和版本号。
看完这本书觉得就可以细挖官方文档了。
注:先前无osx开发经验,暂时还不会objc.