iOS开发进阶之查看源码
前言: 如果你是一个iOS程序员,一个愿意深入探究的程序员,看官方的源码和官方文档是比较靠谱的深入学习方法
Apple的Cocoa Touch框架虽然并不开源,但是Objective-C的runtime和Core Foundation却是完全开放源码的(https://opensource.apple.com/tarballs/ ),这个Apple的官方开源网站真的是一个大宝藏(http://www.opensource.apple.com)
1. __Objective-C Runtime__。objc运行时是如何工作的?如何使用mach-o里的__TEXT.__objc_xxx和__DATA._objc_xxx__(OBJC segment现在没有了?)?可以查看OS X分类下某个系统版本下的objc4-XXX目录。
2. __Libc__。想知道c库里的某个函数如何实现?可以查看OS X分类下某个系统版本下的Libc-XXX目录。
3. __xnu__。想学习内核?可以查看OS X分类下某个系统版本下的xnu-XXX目录。
想了解和学习各种工具如何实现?otool?nm?可以查看Developer Tools分类下某个Xcode版本下的cctools-XXX目录。nm.c就在这个目录里的msic目录里。
4. 还有很多很多。。。
如果想看官方介绍那就看官方文档:https://developer.apple.com
写入你想要的关键字 例如 runtime ,run loops 等。 你就会搜到想要的文档
关于GUNStep,GNUstep是GUN计划的项目之一,它将Cocoa的OC库重新开源实现了一遍,并且开源出来了。虽然GNUstep不是苹果官方的源码,是GNU计划写的,但是还是具有一定参考价值的。
GNUstep源码下载地址:http://www.gnustep.org/resources/downloads.php
一个技术分享网站:美团技术团队,不定期进行一些技术的总结及分享
官方网站整理分享:iOS开发者网站,App Store审查指南