Apple的开源其实做得很棒!http://www.opensource.apple.com/,这个Apple的官方开源网站真的是一个大宝藏。真的是不怕你知道,就怕你学不完,哈哈。

  • WebKit就不用说了。在OS X和iOS分类下,有对应的WebKit的版本号,这里也可以快速知道相应操作系统里使用的WebKit版本。
  • Objective-C Runtime。objc运行时是如何工作的?如何使用mach-o里的__TEXT.__objc_xxx和__DATA._objc_xxx(__OBJC segment现在没有了?)?可以查看OS X分类下某个系统版本下的objc4-XXX目录。
  • Libc。想知道c库里的某个函数如何实现?可以查看OS X分类下某个系统版本下的Libc-XXX目录。
  • xnu。想学习内核?可以查看OS X分类下某个系统版本下的xnu-XXX目录。
  • 想了解和学习各种工具如何实现?otool?nm?可以查看Developer Tools分类下某个Xcode版本下的cctools-XXX目录。nm.c就在这个目录里的msic目录里。
  • 还有很多很多。。。
某个主题目录可以直接下载,而且,有一些主题里会有Xcode project文件,这样可以很方便查看和搜索。另外,某些主题的源代码应该是不完全的,不同的操作系统版本里会有不同,如果某个主题里的某个源代码在新的操作系统里没有找到,可以尝试在旧的操作系统里找一下。
http://www.opensource.apple.com/,你值得拥有!

Apple Open Source相关推荐

  1. Apple Lossless Audio Codec 苹果无损音频解码器

    # 自从苹果开源了一系列的资源,我对苹果操作系统及相关工具非常感兴趣,就利用业务时间研究一下. Apple Open Source 包括: macOS Source macOS-forge Mac T ...

  2. LLVM Clang前端编译与调试

    LLVM Clang前端编译与调试 iOS 关于编译 o 一.Objective-C 编译过程 o 为什么需要重新编译? o 编译步骤 o 二.编译步骤的详细说明 o 1.预处理 o 2.编译 o 词 ...

  3. Objetive-C +load方法研究

    load方法的执行时机 Objetive-C 的runtime会在一个类的所有方法加载到内存中时调用这个类的+load() 方法,因为每个类的方法只是加载一次,所以每个+load()方法只调用一次. ...

  4. Emoji表情图标在iOS与PHP之间通信及MySQL存储

    在某个 iOS 项目中,需要一个服务器来保存一些用户数据,例如用户信息.评论等,我们的服务器端使用了 PHP+MySQL 的搭配.在测试过程中我们发现,用户在 iOS 端里输入了 Emoji 表情提交 ...

  5. 高德APP启动耗时剖析与优化实践(iOS篇)

    来自:高德技术 前言 最近高德地图APP完成了一次启动优化专项,超预期将双端启动的耗时都降低了65%以上,iOS在iPhone7上速度达到了400毫秒以内.就像产品们用后说的,快到不习惯.算一下每天为 ...

  6. WKWebView 那些坑

    导语 WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用.内存泄漏的 UIWebView.WKWebView拥有60fps滚动刷新 ...

  7. 【转】iOS实时卡顿监控

    转自http://www.tanhao.me/code/151113.html/ 在移动设备上开发软件,性能一直是我们最为关心的话题之一,我们作为程序员除了需要努力提高代码质量之外,及时发现和监控软件 ...

  8. 各种开发源代码软件许可证异同

    共同点总结 1:发布的义务-将获得的原代码再发布 2:对发布的源代码的要求-必须保证源代码的完整和可以被获取 3:允许修改-可以根据获取的源代码产生演绎作品 不同点对比 是否允许可以同其他非开放源码软 ...

  9. 转:Object-Runtime的基本数据类型

    Class Objective-C是支持反射的,先来了解一下其如何表达一个类.在Objective-C的Runtime中有个类型是Class(只在Runtime环境中使用),用来表示Objective ...

最新文章

  1. Could not open a connection to your authentication agent
  2. 为什么Java中有多态?
  3. 【FPGA教程案例2】基于vivado核的NCO正弦余弦发生器设计与实现
  4. apizza接口文档传二维数组
  5. 【Linux】一步一步学Linux——cksum命令(235)
  6. SAP CRM WebClient UI端到端的字段扩展
  7. 我是如何使用wireshark软件的
  8. supersocket缓冲区_SuperSocket学习进展
  9. linux添加终端快捷键,linux 终端快捷键
  10. 禁用hiberfil.sys文件
  11. html对话框取消确定,alert 确定 取消
  12. oracle run {,Oracle runInstaller 安装不显示 OUI 处理 说明
  13. 计算机查看配置的快捷键,剪映电脑版快捷键在哪里设置? 剪映查看快捷键的技巧...
  14. STM32F4 ETH-Lwip以太网通信
  15. Eric6中使用PYQT5在窗口显示图片
  16. 手机电脑都能用,将照片转成PDF的免费方法
  17. 每次要主板放电后才能正常开机
  18. 头歌——c++单向链表
  19. 计算机网络的类型和特点
  20. MyEclipse快捷键大全(转自豆瓣)

热门文章

  1. Inserting Videos into Videos_论文阅读
  2. TSQL和PLSQL的区别
  3. 红帽子linux网络播放器,redhat默认播放器(totem)解码包安装
  4. 在RMD使用过程中,右侧不生成图片的问题
  5. 如何系统学习区块链技术-干货来袭
  6. mocha 测试 mysql_GitHub - WePoem/lei: 整合Express mysql ioredis ejs 的一开发框架,使用mocha对api进行测试...
  7. 什么是MySQL| 什么是数据库 | 数据库详解
  8. js中字符串数字转换为数值类型
  9. Cacheable、CacheEvict、Caching使用示例
  10. 解决报错:Cause: java.sql.SQLSyntaxErrorException: Table 'myactiviti.act_ge_property' doesn't exist