GitHub 上都有哪些值得关注学习的 iOS 开源项目？
谢邀，第一次受邀请，哈，虽然只是很多人之一，但是还是感到有些小激动 =============================================== 我个人觉得类似UI效果的东西，就不需要自己去整理记录了，推荐几个网站: 1. ，这个网站刚起步的时候我基本不上，习惯于自己使用书签整理，不过后来发现里面的编辑非常用心，而且整理归纳很有序，可以节省我大量的时间，我才开始使用 2. cocoacontrols.com，这个应该是code4app的国外原型，我很早之前就经常上，里面的内容做的也很不错，总体项目水平选的要比code4app高上一些 3. ，国内很不错的开源社区，上大学的时候就一直在看了 =============================================== iOS值得学习的类库的话，我可以推荐几个我自己认为写的并且读过的一些源码，这些源码都对我自己在进行iOS开发过程中有很多的帮助和提升，希望能给你提供一些有帮助的地方： 一.  XMPPFramework: ，这个如果是做过聊天的通信通信可能会用过，本人因为工作原因，两年前第一次接触这个代码，就对这个大牛非常崇拜。代码值得学习的东西非常多。作者在开发这个框架的时候，同时也开发了非常多的基础库，都非常值得学习。 1. 首先是插件是框架设计，设计的非常优雅，功能强大易扩展，而且写的很简洁，易懂。 2. 作者基于GCD设计的一对多的delegate机制--GCDMulticastDelegate，后来在项目中我尝试使用过这个框架，多个模块依赖于某一个核心组件，使用这个类，可以把耦合问题降到很低，值得推荐。 3. CocoaAsyncSocket， ，这个是让本人又无比崇拜的一个类库，作者根据iOS平台的特性，实现了两套异步socket网络库，一个基于GCD与POSIX Socket开发的socket异步网络库，另外一个是使用CFSocket与runloop实现，我曾经尝试去阅读这个类库，不过后来发现自己能力实现有限，只能看个大概的轮廓。 4. CocoaLumberjack， ，这个是作者写的一个log系统，实现了分级别的日志系统，不过本人没有使用和学习这个，我们项目没有那么复杂，我是自己使用宏和NSLog写了一个分级别显示的日志系统，只能用于打印，不能像这个日志可以写入文件。 5. KissXML ，我们平时一般使用json格式的数据，除了组装xmpp聊天消息，对这个没有怎么使用过，不敢评论。 二. AFNetworking： ，毫无疑问，最火的网络库，本人11年开始做iOS开发的时候，是使用ASI的，一直没有使用过AFNetworking，直到12年的时候，发现ASI作者基本不更新ASI之后，才开始关注这个项目。ASI是基于CFSocket实现的HTTP网络库，作者功底之强，跟上面的老大一样让人拜服，而AFNetworking是基于NSURLConnection，以及iOS7之后出现的NSURLSession为基础开发的。由于AFNetworking基于Apple的封装，少了很多需要自己维护的地方，而且整个项目也会非常整洁，可能效率上也会高于ASI的封装。建议可以把整个项目过一遍，框架设计思想不用说了，里面也可以学习到非常多的技术点。 1. NSOperation的封装与使用，面试的时候很多人只知道apple有NSOperation这个技术，但是实际上使用的机会并不多，只知道是个队列，但是对于如何使用并不知晓。可惜的是，这个只提供了如何使用进非并发Operation的封装。完整学习的话，可以学习ASI中对operation的使用，会更完整一些。 2. HTTP请求的封装，如何封装POST请求，如何进行URL encode，如何使用NSInputstream，可以对HTTP理解有个突破。同时可以学习一下NSURLSession与NSURLConnection的使用。 3. Runloop的使用，建议与ASI实现同步请求的方法进行对比，有条件的话可以跟android的looper机制进行对比，说不定什么时候会使用到，实际xmppframework中也有用到，只是不是核心机制，而且本人没有研究过。本人从11年做iOS到现在，只是使用到过一次，是需要自己实现一个OpenGL的渲染队列，由于需要在子线程中做渲染，无法使用CADisplaylink。刚开始其实是使用GCD的，但发现即使我创建一个dispatch_queue_t，也无法保证block是在子线程中被执行，而且还有较为复杂的内存管理问题，最后使用NSThread与runloop才解决问题。 三. SDWebImage： ，不需要多说，这个框架写的非常简洁，也是读这个框架，让我明白什么是缓存机制，以及如何做面向对象的封装设计，我之后有的场景也需要自己去设计一些cache，每次都是借鉴这个框架实现，能力有限，自己实在想不出比这个设计思路好的地方，只能借鉴别人的做法。我觉得这个项目还有一个非常值得推崇的地方，就是对category的使用，这个是我今年之前一直忽略的非常重要的设计模式，太适合团队开发了，<cocoa设计模式>上讲的东西，做到现在我才明白怎么回事，可以对比Android使用网络图片，你会发现OC的category真方便。 四.EGOTableViewPullRefresh： ，本来不打算说UI方面类库的，但是这个必须说一下。建议读一下这个的源码，以及如何使用，对iOS UI开发有很大提升，这个类库写的很简洁，可以帮助理解delegate机制以及Protocol的概念，还能加深对UIScrollView的理解，推荐读一下。 五. TheElements： ，这个是apple的官方示例代码，每次我朋友问题如何学习iOS的时候，我总会推荐这个samplecode，这个代码让我对iOS开发的理解有个很大的突破。里面并没有使用大量的storyboard和xib隐藏细节，并不是说只能用纯代码做事情，而是可以让人看到里面很多的实现细节，加深理解。读这个代码，我才明白什么是apple说的MVC，还有一个xcode工程到底是如何从main函数运行起来的，非常强烈推荐阅读学习。 =============================================== 一不小心写了这么多，擦，但好像并没有说太多的开源工程项目，如果楼主是需要开源项目资讯的话，可能提供不了多少帮助，见谅。这个更多的是我自己的学习开源项目一部分总结，我也没想到会写这么多，最后希望能楼主带来一些小帮助。