您的位置:首页 > 移动开发 > IOS开发

GitHub 上都有哪些值得关注学习的 iOS 开源项目?

2014-09-30 14:32 801 查看


GitHub 上都有哪些值得关注学习的 iOS 开源项目?修改

如果仅按照 GitHub 月流行查看 Objective-C 项目的话有 ── Trending Objective-C repositories
on GitHub this month修改

举报1
条评论 分享邀请回答

按票数排序按时间排序


44 个回答

赞同374
反对,不会显示你的姓名




吴辉斌,移动互联网iOS开发工程师

国王猎手阿瑟田学文 等人赞同

GitHub上有很多不错的iOS开源项目,个人认为不错的,有这么几个:

1. ReactiveCocoa:ReactiveCocoa/ReactiveCocoa · GitHub

GitHub自家的函数式响应式编程范式的Objective-C实现,名字听着很高大上,学习曲线确实也比较陡,但是绝对会改变你对iOS编程的认知,首推之。

2. Mantle:Mantle/Mantle · GitHub

又是GitHub自家的产物,轻量级建模的首选,也可以很好的配合CoreData工作。

3. AFNetworking:AFNetworking/AFNetworking · GitHub:

iOS7之前,苹果自带的网络库有多难用!matt大神的AFNetworking绝对可以解放你。使用苹果的NSURLRequest及iOS7的NSURLSession,清晰的架构,足够的文档,可以认为是第三方开源库的楷模了。

4. BlocksKit: pandamonia/BlocksKit 路 GitHub

本人相当偏爱Functional Programming,Objective-C中的block绝对满足我的口味。但想用好block也不是很容易,如果对block有爱,就请使用这个库吧。

5. Nimbus:jverkoey/nimbus · GitHub

第一次关注nimbus是因为Facebook的Three20开源库。可惜Three20库已死,主要作者跳出来,写了nimbus。

6. pop: facebook/pop · GitHub

facebook出品的paper,动画效果太好了,赶超apple的原生app一大截。pop就是paper的动画库!

7. GPUImage: BradLarson/GPUImage ยท GitHub

iOS7出来时,很多好看的效果,其实都是对图像的各种处理(比如模糊效果)。图像处理看来以后也是iOS开发的必备技能之一了。而GPUImage,就是能快速处理各种图像效果的利器!

==========================================

好吧,我承认第一次知乎的回答有点惊喜,没想到这么多人点赞 ^_^

大部分iOS的第三方库都是在苹果的基础框架之上的产物,所以基础很重要,有时间看看WWDC的历年视频,是不错的选择。

最近还是在深入学习ReactiveCocoa,看ReactiveCocoa的源码。对响应式编程还是有很多期待的,有时间也要重温函数式编程(比如Haskell),或者把响应式编程的公开课(Coursera.org)看完。编程范式的选择可以说是相当重要的。未来是多核+并发的时代,函数式编程无疑是更好的选择。

iOS的UI也很重要,但是如果理解apple的CoreAnimation及CoreGraphics框架,大部分UI基本是没问题的。当前,iOS7的各种炫酷效果,也需要对图像的处理有一定理解。说到图形学,OpenCV是一个不错的选择,而OpenGL也是另一个不错的方向(推荐的公开课:Interactive
3D Graphics Course With Three.js & WebGL)。

当然最重要的,还是计算机的各种基础知识了吧,知其然,知其所以然,才是正道~

以上是个人的经验,欢迎交流讨论~

编辑于 2014-06-02 18
条评论

赞同127
反对,不会显示你的姓名




范文斌,最牛逼的图片社区iOS工程师

Song Sophier、Charlie
Jade、何谢 等人赞同

David Chang邀请

看了上面的答案,值得关注学习的开源项目其实还真没有几个。

首先,学习这类开源项目的主要目的是为了实现产品汪需求,如果不是这个目的,完全可以看Explore GitHub,当前最火的开源项目都在这里,当然你需要过滤一下语言。

好了,介绍几个希望能帮助到你。

普通的iOS开发项目基本就是网络、本地存储+一些狂拽炫酷的动画,想想看是不是?

-------------------- 割 ---------------------

网络

AFNetworking
JSONKit
Reachability
EGOTableViewPullRefresh

LoadMoreTableFooterView

网络请求首选AFNetworking,无数个项目证明,只选对的。

解析JSON数据推荐JSONKit,而且优势相当的明显,解析速度拉SBJson好几条长安街。



以前发现过好多次由于SBJson引起的crash,如果还在用SBJson,那请继续。

Reachability也要用起来,时不时检查一下网络状况,然后配合MBProgressHUD告知用户「亲,你丫现在没网啦,别特么戳了。

EGOTableViewPullRefresh是用来下拉刷新的啦,同时配合上LoadMoreTableFooterView(加载更多)就齐活了。

-------------------- 割 ---------------------

本地存储

FMDB
Core Data
SDWebImage
TMCache

第一次开发中引入数据库的时候使用过FMDB,其实蛮强大的,只不过需要写sql语句,select * from user(从user表中筛选出全部数据)。

后来慢慢的抛弃了它,一点也不面向对象。好吧,其实我是想说还是CoreData好用,至少你不会因为不会写sql而没法保存数据。(接手过的项目竟然还有全部存NSUserDefault的,真是没脾气了)

看过一篇对比CoreData和FMDB查询大数据性能的文章,FMDB赢了,不过还是推荐用CoreData。

至于SDWebImage,同样也是早期使用过,和SBJson一样,会有crash,尽管用它来缓存图片很方便,但是我们有更好的解决方案,同样不推荐。

年前的项目中CTO推荐了我们TMCache,tumblr团队使用的一个缓存项目(科普时间:tumblr是国外的轻博客服务,随后国内就出现了点点等同期产品),有时间可以去了解一下,目前应用的不是特别多,当然啦,对我来说。

-------------------- 割 ---------------------

动画效果

MBProgressHUD
pop

上面说到的没网了提示用户的MBProgressHUD,用起来吧,当然还有很多转菊花(loading)的开源项目,同样是我使用最多的。



pop是facebook paper使用的动画效果,开源了出来,很赞啊,不过应用到项目中的可能性很低。。。太特么炫酷了。

-------------------- 割 ---------------------

其他

第三方库管理工具,CocoaPods,有时间可以学习一下。 CocoaPods
GitHub

Github repos (iOS) 这是一个收集了很多iOS开源项目的页面,给作者赞一个。

有不完善的地方欢迎指出,我会及时补充上来。

编辑于 2014-05-07 19
条评论

赞同39
反对,不会显示你的姓名




罗轩,iOS开发者

王磊应元贞、匿名用户 等人赞同

谢邀。

首先告诉你github上搜索所有库的方法(trending只显示25个):在搜索框输入 stars:>1 ,回车,再选择语言,和排序(可以试下most stars)。

以上方法适合没有目标的学习,你可以自己挑感兴趣的看。不过,我推荐的还是,需求为主导,需要用到什么库,就去找什么库。先分析该功能自己会怎么去实现,然后看看开源库是怎么实现的,相互印证,这样子进步很快,关键是印象深刻。

然后下面是我觉得不错的一些开源项目:

nimbus: 框架,文档很齐全,好像比Three20要火一些了。 jverkoey/nimbus · GitHub
AFNetworking: HTTP网络通信库,不多说,超棒。 AFNetworking/AFNetworking · GitHub
RestKit: HTTP库 用来与RESTful的服务进行交互 。 RestKit/RestKit · GitHub

JSONKit: json库,传说比官方的性能要好,我自己没验证。 johnezang/JSONKit · GitHub
SDWebImage: 异步加载网络图片的库,使用超级简单,功能超级强大,也没得说,值得看源代码。 rs/SDWebImage · GitHub
cocos2d-iphone: 2d游戏引擎,想开发游戏可以学学。 cocos2d/cocos2d-iphone · GitHub
MBProgressHUD: 很实用的HUD,和官方几乎开不出区别。 jdg/MBProgressHUD · GitHub
TMCache: 缓存数据,可以缓存到memory或者disk,个人觉得挺不错的。 tumblr/TMCache 路 GitHub

就说这么些吧(大家推荐的其实都是那么一些),主要还是自己用,自己去体会。

ps. 第三方库管理工具,Cocoa Pods非常好用,方便快捷。 http://cocoapods.org/

编辑于 2014-05-01 添加评论

赞同18
反对,不会显示你的姓名




李富强,iOS/Android

魚伯Cam Che祝宏 等人赞同

谢邀,第一次受邀请,哈,虽然只是很多人之一,但是还是感到有些小激动

===============================================

我个人觉得类似UI效果的东西,就不需要自己去整理记录了,推荐几个网站:

1. Code4App,这个网站刚起步的时候我基本不上,习惯于自己使用书签整理,不过后来发现里面的编辑非常用心,而且整理归纳很有序,可以节省我大量的时间,我才开始使用

2. cocoacontrols.com,这个应该是code4app的国外原型,我很早之前就经常上,里面的内容做的也很不错,总体项目水平选的要比code4app高上一些

3. 开源中国,国内很不错的开源社区,上大学的时候就一直在看了

===============================================

iOS值得学习的类库的话,我可以推荐几个我自己认为写的并且读过的一些源码,这些源码都对我自己在进行iOS开发过程中有很多的帮助和提升,希望能给你提供一些有帮助的地方:

一. XMPPFramework:robbiehanson/XMPPFramework · GitHub,这个如果是做过聊天的通信通信可能会用过,本人因为工作原因,两年前第一次接触这个代码,就对这个大牛非常崇拜。代码值得学习的东西非常多。作者在开发这个框架的时候,同时也开发了非常多的基础库,都非常值得学习。

1. 首先是插件是框架设计,设计的非常优雅,功能强大易扩展,而且写的很简洁,易懂。

2. 作者基于GCD设计的一对多的delegate机制--GCDMulticastDelegate,后来在项目中我尝试使用过这个框架,多个模块依赖于某一个核心组件,使用这个类,可以把耦合问题降到很低,值得推荐。

3. CocoaAsyncSocket,robbiehanson/CocoaAsyncSocket GitHub,这个是让本人又无比崇拜的一个类库,作者根据iOS平台的特性,实现了两套异步socket网络库,一个基于GCD与POSIX
Socket开发的socket异步网络库,另外一个是使用CFSocket与runloop实现,我曾经尝试去阅读这个类库,不过后来发现自己能力实现有限,只能看个大概的轮廓。

4. CocoaLumberjack,CocoaLumberjack/CocoaLumberjack GitHub,这个是作者写的一个log系统,实现了分级别的日志系统,不过本人没有使用和学习这个,我们项目没有那么复杂,我是自己使用宏和NSLog写了一个分级别显示的日志系统,只能用于打印,不能像这个日志可以写入文件。

5. KissXML robbiehanson/KissXML GitHub,我们平时一般使用json格式的数据,除了组装xmpp聊天消息,对这个没有怎么使用过,不敢评论。

二. AFNetworking:AFNetworking/AFNetworking · GitHub,毫无疑问,最火的网络库,本人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:rs/SDWebImage · GitHub,不需要多说,这个框架写的非常简洁,也是读这个框架,让我明白什么是缓存机制,以及如何做面向对象的封装设计,我之后有的场景也需要自己去设计一些cache,每次都是借鉴这个框架实现,能力有限,自己实在想不出比这个设计思路好的地方,只能借鉴别人的做法。我觉得这个项目还有一个非常值得推崇的地方,就是对category的使用,这个是我今年之前一直忽略的非常重要的设计模式,太适合团队开发了,<cocoa设计模式>上讲的东西,做到现在我才明白怎么回事,可以对比Android使用网络图片,你会发现OC的category真方便。

四.EGOTableViewPullRefresh: enormego/EGOTableViewPullRefresh GitHub,本来不打算说UI方面类库的,但是这个必须说一下。建议读一下这个的源码,以及如何使用,对iOS
UI开发有很大提升,这个类库写的很简洁,可以帮助理解delegate机制以及Protocol的概念,还能加深对UIScrollView的理解,推荐读一下。

五. TheElements:TheElements,这个是apple的官方示例代码,每次我朋友问题如何学习iOS的时候,我总会推荐这个samplecode,这个代码让我对iOS开发的理解有个很大的突破。里面并没有使用大量的storyboard和xib隐藏细节,并不是说只能用纯代码做事情,而是可以让人看到里面很多的实现细节,加深理解。读这个代码,我才明白什么是apple说的MVC,还有一个xcode工程到底是如何从main函数运行起来的,非常强烈推荐阅读学习。

===============================================

一不小心写了这么多,擦,但好像并没有说太多的开源工程项目,如果楼主是需要开源项目资讯的话,可能提供不了多少帮助,见谅。这个更多的是我自己的学习开源项目一部分总结,我也没想到会写这么多,最后希望能楼主带来一些小帮助。

编辑于 2014-05-13 2
条评论

赞同10
反对,不会显示你的姓名




雨中泪雪人,码农,IOS开发

韦斯泰赵玉豪张帆 等人赞同

请关注facebook的开源项目,个个都是精品

发布于 2014-04-30 3
条评论

赞同8
反对,不会显示你的姓名




刘绪斌,ios屌丝开发爱好者

席德雨爱德华周守航 等人赞同

优秀的开源库现在有很多,这里有一种比较方便的筛选方法:通过cocoapod的search功能在开发的时候快捷地找到类似的库。例如:pod search "label" 能搜到很多和label想着的开源库。然后通过版本情况,可以初步鉴定哪些库是用的比较广泛的,search结果会列出github的地扯,如果觉得不错,可以打开链接去看看。

下面回答问题:(所有库名,均在直接在github或cocoapod直接搜索得到, 就不引用链接了)

AFNetworking:目前最流行的网络请求库了,不解释。

AFDownloadRequestOperation:对AFNetworking的断点续传的补充

MagicalRecord:很牛逼的coredata的封装,支持多纯种,4600多个star足以说明其实用性。3.0版本修复了原来2.0版本多线程的一些问题。

JSONKit:json解析,解析效率比较高。

JSONModel:json转换成model,自从使用这个封装json,妈妈再也不用担心json解析crash了。谁用谁知道。(注:Mantle上面也推荐了,和JSONModel差不多,不过我没用过,不作评论)

SVProgressHUD:简单好用的Loading库,可以有个小icon。

MBProgressHUD:功能很强大,提供了graceTime, minShowTime可以在加载很快时,不显示loading。

GVUserDefaults:如果你使用UserDefaults来存储数据,请使用这个,直接声明property就行了。

iOSBlocks:使用它,使你很好地理解为什么:“block实现了编程之美”

UIView-Positioning:UIView的坐标设置变得那么简单,three20时,就有类似的一个category。

FXNotifications:支持block的NSNotification,iOSBlocks的补充。

KIF:测试库,QA可以了解一下。

CocoaHTTPServer:在客户端搭建轻量级服务器,用于文件传输等功能。

CocoaLumberjack:很好一个日志输出控制库。

一些比较流行的UI。(直接引用原文内容了,没啥好解释的)

iCarousel: A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS

FPPopover:An alternative API for NSNotificationCenter that doesn't suck

RESideMenu:iOS 7 style side menu

值得深读源代码的:

pop: facebook开源动画库,最近很火

Tweaks:facebook开源库,可用于配置UI之类,感觉可以运用在换肤。

ReactiveCocoa:cocoa响应式编程,新的一种代码风格,非常值得学习。

好了,暂时就这些,得去吃饭了。

======================================

补充一个github地址:https://github.com/vsouza/awesome-ios

编辑于 2014-08-06 添加评论

赞同6
反对,不会显示你的姓名




王炼,iOS开发工程师

小七木寻梦人寻梦人顾宗祥 等人赞同

泻药。

上面已经推荐得够多,我来说下自己用过的。

1. 0xced/iOS-Artwork-Extractor 提取iOS中的图标资源。

2. rs/SDURLCache 私人订制URL缓存。之前项目要求用UIWebview来实现Native效果,网页中的资源文件会预下载。当WebView请求外部资源时,会根据URL查询并优先使用本地缓存。

3. marcuswestin/WebViewJavascriptBridge UIWebview里的Javascript与Native代码交互。

4. BradLarson/GPUImage 图片的滤镜处理。从中学习opengles的用法,以及shade脚本的写法。

5. robbiehanson/CocoaHTTPServer 手机上的服务器。某视频播放项目,player不接受本地路径的视频文件,需要http服务器作中转

6. TheAmazingAudioEngine/TheAmazingAudioEngine 功能强大,特别是在音效处理,对AudioBus支持很强。使用AudioUnit的底层API。
开始在某语音直播间项目中应用,需要频繁切换录音和播放状态, TAAE不支持,勉强修改,依然Bug不断。后来换成自己写的一套AudioUnit实现。

7. supermarin/ObjectiveRecord 对CoreData进行封装,但不是线程安全的,只用在mini
App中。

编辑于 2014-05-05 添加评论

赞同4
反对,不会显示你的姓名




ha楼,iOS开发者,http://ios.b2mp.cn

Angkor Wu韦斯泰朱鹏飞 等人赞同

=游戏类==================================================

2048 iOS版本 ik/2048 · GitHub

2048 [Siwft] austinzheng/swift-2048 · GitHub

2048 [ObjC] austinzheng/iOS-2048 · GitHub

flappy bird[Siwft] fullstackio/FlappySwift · GitHub

==================================================

iOS8特性学习实例集合[ObjC] shu223/iOS8-Sampler · GitHub

iOS8特性学习,目前已经有28Day的[Swift] ShinobiControls/iOS8-day-by-day · GitHub

==================================================

[广告] iOS走马观花-iOS开源代码快速浏览

编辑于 2014-09-20 添加评论

赞同4
反对,不会显示你的姓名




西瓜,iOS
dev

夏怀沙王小帅李永杰 等人赞同

最近开源的facebook的pop大家都说不错

我自己用过觉得不错并且更新很活跃的,推荐SDWebImage这个库,里面有UI,动画,多线程,储存,网络等相关的多种技术,很合适拿来学习。这个库星星也很多

其他的嘛,直接在github搜索然后星星多的,应该都会不错

发布于 2014-04-30 添加评论

赞同4
反对,不会显示你的姓名




唐伟,不会造轮子的程序员

ha楼林永坚Jake冯威风 等人赞同

前面有人回答过了这个收集的较全:Github repos (iOS)

看看别人写的控件Custom Controls for iOS and OS X

有个HTML的框架也可关注关注Framework7 - Full Featured HTML Framework For Building iOS7 Apps

发布于 2014-04-30 添加评论

赞同2
反对,不会显示你的姓名




徐诺,洁癖
IOS开发

朱鹏飞肖玉龙 赞同

上面的回答包含了我用到的所有开源项目,不献丑了

大力推荐Code4App

网站标语:让移动开发者不再重复造轮子

由此总结出开源的目的

1、不重复造轮子

2、集思广益,大家一起造好轮子

3、向别人学习如何造轮子

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com


发布于 2014-05-04 1
条评论

赞同2
反对,不会显示你的姓名




朱仕达,穷,接iOS外包

寻梦人寻梦人郭耀源 赞同

之前有人整理过Git上好用的iOS库,我搬运一下:

Github repos (iOS)

另外如 @雨中泪雪人 所说,facebook的开源项目个个精品,比如最近开源的pop,之前的KVOController、Chisel都很好,可以看一下。

发布于 2014-04-30 添加评论

赞同2
反对,不会显示你的姓名




黄兢成,iOS开发人员,喜欢睡觉,看书,编程

周正昌hao 赞同

我想推荐的,大多数都被提到了。说两个没有被提到的:
1. Masonry

大大简化AutoLayout的写法。比如

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(superview).with.insets(padding);
}];


2. CocoaLumberjack

日志库。

想到另外的再补充。

编辑于 2014-04-30 添加评论

赞同2
反对,不会显示你的姓名




聂新,iOS开发攻城狮

刘佳亮崔星宇 赞同

谢邀。排名前几的答案已经回答的比较全了。我补充一个最近在看的:RestKit.

RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X!

说的够清楚了吧,以下是地址:https://github.com/RestKit/RestKit

发布于 2014-05-04 添加评论

赞同1
反对,不会显示你的姓名




唐余猛,ios开发者,http://github.com/tangyumeng/

张靖乐 赞同

https://github.com/trending?l=objective-c 找点感兴趣的看看。Mac下推荐ohmystar Mac
App Store-Oh My Star 用于管理自己的stars ,fo 一些人,自己积累自己能用到的就行了

发布于 2014-04-30 1
条评论

赞同1
反对,不会显示你的姓名




骆杨,骆杨,iOS开发者,喜欢iOS平台和产品设计

爱德华 赞同

erica/iOS-7-Cookbook 路 GitHub 各种基础代码实例
iOS开发秘籍作者

Trending Objective-C repositories on GitHub this month · GitHub 最近流行

CocoaPods/CocoaPods 路 GitHub 包管理工具

发布于 2014-04-30 添加评论

赞同1
反对,不会显示你的姓名




雷平,flipink
/ 自由职业者 / 创业者 / iOS开发

顾宗祥 赞同

这些开源库会经常用到:FMDB, JSONKit, MBProgressHUD, OjectiveSugar

可以关注http://www.code4app.com

发布于 2014-04-30 添加评论

赞同1
反对,不会显示你的姓名




ivan,iOS开发

走嗅 赞同

TPKeyboardAvoiding

发布于 2014-04-30 添加评论

赞同1
反对,不会显示你的姓名




李传军,iOS开发者,做过一个邮件客户端,一个云…

张寒冰 赞同

楼上都说了很多了,我说几个我用过且觉得不错的吧。

1.li6185377/LKDBHelper-SQLite-ORM · GitHub这个是关于数据库的,底层基于SQLite,用的极其方便。将表(table)和类(class)对应起来,它简单到你基本上很少去关心数据库的东西。

2.AFNetworking。

3.mailcore。构建邮件客户端必备神器啊.MailCore/mailcore2 · GitHub

4.最后来个大礼包。Github repos (iOS)

发布于 2014-04-30 添加评论

赞同1
反对,不会显示你的姓名




刘子洋,校园二手街(http://2shoujie.com)

爱德华 赞同

最近pop挺火啊 facebook/pop · GitHub

平时用的比较多的就下面几个

1、Cocoa Pods CocoaPods/CocoaPods 路 GitHub 第三方库管理工具

2、AFNetworking https://github.com/AFNetworking/AFNetworking 网络库,已支持iOS7新的网络框架

3、SDWebImage rs/SDWebImage · GitHub 加载网络图片非常好用的库,值得学习

4、FMDB ccgus/fmdb · GitHub 对SQLite的封装,可以用队列管理SQL请求

5、SVProgressHUD samvermette/SVProgressHUD 路 GitHub 包含各种功能的HUD

6、iConsole nicklockwood/iConsole 路 GitHub 本地调试板

编辑于 2014-05-15 添加评论

赞同1
反对,不会显示你的姓名




何振东,菩提树下的程序员

蔡鹏 赞同

发觉大家用的开源库都大差不差嘛,下面也列下我常用的几个类库。

appledoc:根据代码注释自动生成文档

VVDocumenter:注释快捷键,配合appledoc一起,超爽。

cocoaPods:回过头去看我以前的代码,全部手动管理第三方库,感觉像是回到了远古时期。

MKNetworkKit:据说融合了AF和ASI的优点,摒弃了二者的缺点的网络请求库,使用一年多了,很爽。但貌似上面都没有人推荐,难道只有我一个人用么?

SDWebImage:图片异步加载,超爽,封装得超简单。

FMDB:sqlite的OC版,会省去你很多麻烦。

REFrostedViewController:左右滑侧边栏,iOS7风格,高斯模糊,效果好,用起也简单。

EDStarRating:评分控件,很不错。

MarqueeLabel:跑马灯文字标签。

MLNavigationController:新浪微博类似的返回手势,不过现在已经不用了,用自带的了。

PopoverView:iPhone版的弹出视图

其实还有很多的,要列的话,可以列一大页,不过很多慢慢的没在使用了,所以不再列了。

其实自己也封装得有一些小工具,方便自己开发用的,不过大多是用别人开源的改的,就不丢人了。哈哈。原创的基本很少。还需要进一步学习。。。

楼上分享的好些还没用过,默默的去研究去了。楼下继续。。。

补充一下,看到楼上大家都在推荐使用JSONKit这些,难道大家还在支持4.x系统么?5.0以上为什么不直接使用系统自带的JSON解析呢,蛮方便的啊

编辑于 2014-05-02 1
条评论

赞同1
反对,不会显示你的姓名




zz
wang

苏苏 赞同

可以关注下这篇文章,还在持续更新:github优秀开源项目大全-iOS

发布于 2014-05-07 添加评论

赞同1
反对,不会显示你的姓名




徐酿泉,读得太少,想得太多。

爱德华 赞同

vsouza/awesome-ios · GitHub

发布于 2014-07-30 添加评论

赞同1
反对,不会显示你的姓名




张自玉,我们老板是个养猪的。

唐余猛 赞同

SSKeychain is a simple wrapper for accessing accounts, getting passwords, setting passwords, and deleting passwords using the system Keychain on Mac OS X and iOS. https://github.com/soffes/sskeychain

你存的东西不会随着应用的删除而被删除。

当你把应用删除了 再下载回来,存储的东西还是可以被读回来的。

发布于 2014-09-16 添加评论

赞同0
反对,不会显示你的姓名




邢富琨,IOS开发者

beeframework不错哦

发布于 2014-04-30 添加评论

赞同0
反对,不会显示你的姓名




颜世民,ios开发者

Pop

发布于 2014-04-30 1
条评论

赞同0
反对,不会显示你的姓名




吴轶峰,ios开发工程师

看什么方面了, 一些工具型的 例如SDWebImage, AFNetworking。 框架型的例如ReactiveCocoa等。 Fackbook会有一些不错的开源项目放出来,也值得关注。

另外也可以关注下Xcode Plugin package manager上的小插件, 还有pods上的项目, 太多了。

发布于 2014-04-30 添加评论

赞同0
反对,不会显示你的姓名




何轶琛,iOS开发工程师

根据star排序的所有Objective-C的库,应该有些帮助。

https://github.com/search?l=Objective-C&q=stars%3A%3E1&s=stars&type=Repositories

发布于 2014-04-30 添加评论

赞同0
反对,不会显示你的姓名




Hugo,创新工场要出发项目ios开发工程师

mknetworkkit,dtcotrtext,sdwebimageview

发布于 2014-04-30 添加评论

赞同0
反对,不会显示你的姓名




任玺,IOS开发

ASIHttpRequest

感谢楼主的邀请,之前都只是看知乎,这次第一次参与进来,随便发了个自己常用的,没想到还有同学回复我,真是和大家交流才有提高,此贴收集了很多宝贵信息了,果断收藏慢慢学习。

编辑于 2014-05-05 8
条评论

赞同0
反对,不会显示你的姓名




李嘉鹏,iOS开发者

请关注

Trending Objective-C repositories on GitHub this month · GitHub

或使用 Github 的高级搜索功能

Most Starred

ref: How to find out "The most popular repositories" on Github?

ps: 使用 Google 搜索 “github most popular project” 即可得到结果

编辑于 2014-04-30 添加评论

赞同0
反对,不会显示你的姓名




蔡雪钧,iOS开发工程师

公司开发项目会经常用到一些第三方库, 有些已经年久失修了, iOS7 刚出那会儿 各种莫名其妙的 bug集中爆发. 所以很多东西,还是弄明白比较好. ReactiveCocoa 最近好多人都在推, 据说用的是MVVM设计模式, 我们知道Apple推的是MVC, 我个人认为如果连MVC都没理解透彻, 那就不能体会项目中MVC带来的一些不便利之处(controller异常臃肿, 单元测试不便等等), 反过来项目中的那些瓶颈, 有时候恰恰是我们当时思维局限导致的.
Facebook的开源代码相对来说比较是比较规范的, 其他一些星数较好的代码 质量也不错. 是学习的好材料. 个人比较喜欢 wax , 当时还脑袋一热看了一点点lua. 权当开阔眼界.

发布于 2014-04-30 添加评论

赞同0
反对,不会显示你的姓名




王叶庆,初出茅庐,iOS开发中

Cocoa pods

发布于 2014-05-01 添加评论

赞同0
反对,不会显示你的姓名




dingc,IOS开发者

谢邀,看到楼上写了很多东西,自己也用过很多有点小激动啊。

以前经常会加入一些比较大的库,但是现在已经不怎么用了,因为自己维护的可能会跟熟悉,相对的别人会看不懂。。。

restkit 是我比较喜欢个一个库,里面对于coredata的支持不错,更加简便了,magicrecord很好用也很多错。但是对于多个数据库连接这个方面没有什么改善。restkit里面我最喜欢用的是他的ORM从这个里面我学到了不少运行时的东西。整体上似乎继承的层数有点太多了。不过整体上还是比较喜欢的。

afnetwork 这个名气很大但是几乎没有用过。。。因为一直是自己写个封装的好的,所以比较懒几乎不用这个。

发布于 2014-05-04 添加评论

赞同0
反对,不会显示你的姓名




邹曦,一个ios开发工程师

json->model的解析库 https://github.com/icanzilb/JSONModel.git

发布于 2014-05-07 添加评论

赞同0
反对,不会显示你的姓名




hillson,揣着书在长跑中踢球的iOS开发男

https://github.com/search?l=Objective-C&q=stars%3A%3E1&s=stars&type=Repositories

object-c 中star最多的repo,随便前面几页都是精品。

还有可以关注下Facebook的开源行动,个个都是精品(比如pop , kvo 等等)

发布于 2014-05-07 添加评论

赞同0
反对,不会显示你的姓名




胡敏,Yidong
kaifazhe

没有人受尽coredata的线程安全的烦恼吗?magicrecord框架真的不是一般的好用。

最近用到Path出的FastImageCache框架,利用虚拟内存缓存,能让app在处理大量图片时保持很高的流畅度。——唯一的坏处是,缓存数据太大,占用的磁盘空间太多。又是空间换时间的节奏。

facebook出品的thrift框架。这个不是纯iOS框架。能让我们的api告别无休止的json拆装。并且跨语言平台。但是这货还是0.9版本,而且api如果升级的话,维护新老接口可能会耗费不少精力。

当然,什么框架都是浮云。不要忘了我们最终都是在用cocoa touch框架

发布于 2014-05-07 添加评论

赞同0
反对,不会显示你的姓名




许高强,iOS开发

值得关注的项目太多了。

要学习的话,要有针对性,也要根据自己的水平来定,基础扎实了再去学习一些开源项目的代码。

选择的时候,也要按照分类,比如动画类,网络类等等...

这里不太好举例,实在太多...

平时经常star一些项目,有空就可以挑一些来学习。

要了解一些最近比较新的,可以在微博上关注@唐巧_boy,@吴发伟Ted,@onevcat等一些技术大牛,他们经常提供一些比较值得学习的东西。

发布于 2014-05-09 添加评论

赞同0
反对,不会显示你的姓名




黄文豹,初级IOS开发

谢邀,目前我也在找

发布于 2014-05-16 添加评论

赞同0
反对,不会显示你的姓名




未有彬,Hello
World

platform :ios, '6.0'

pod 'AFNetworking'

pod 'SDWebImage'

pod 'MBProgressHUD'

pod 'TPKeyboardAvoiding'

pod 'pop', '~> 1.0.6'

pod 'AMScrollingNavbar', '~> 1.0'

pod 'TTTAttributedLabel', '~> 1.9.5'

pod 'GPUImage', '~> 0.1.4'

pod 'DBCamera', '~> 2.3.1'

pod 'RETableViewManager', '~> 1.5.10'

简单复制一个自己的podfile

发布于 2014-07-31 添加评论

赞同0
反对,不会显示你的姓名




Kai
Zhou,Hi

有个团队开源了自己iOS/Android的手机游戏

《群侠转》开放源代码和美术资源 - Game Dev Story - 知乎专栏

《群侠转》开放源代码和美术资源

一张钞票 · 2 天前

今天在Cocos2d-x深圳站公布了我们(深圳烁动)的手游项目《群侠转》的源代码和美术资源的开放。这是我们2013年初发布的项目,到现在也上线很久了,游戏质量和完成度都很高。至少我还没看到过类似完成度手游开源项目。这次我们开放了全部客户端源代码和美术资源,欢迎大家随意修改。

开源的动机有几个:

1. 三消游戏有几十款,大家如果还想做,干脆也别浪费时间,用我们的做换皮吧!

2. 虽然我们不会在这个玩法上继续做创新,但是这个玩法还可以继续演化。让有想法的人能够快速上手,我们很想看看能改出什么东西。

3. 我们也希望能够启发别的团队开源自己的项目。

4. 我们相信人品!

有兴趣的朋友请移步GitHub,Mac上直接pull下来编译就可以玩了。

GitHub直接移步:ShortTailLab/ph-open · GitHub

发布于 2014-08-25 添加评论

赞同0
反对,不会显示你的姓名




杨奕洋,ios开发者

目前在看MBProgressHUD。

可以关注cocoachina,定期会有一些介绍iOS开源库的文章,都挺不错。

发布于 2014-04-30 添加评论

赞同0
反对,不会显示你的姓名




素还真,待业男煮夫

泻药。需要去一行一行的扣代码,明白其中的原理么?思想这种东西怎么学啊?

发布于 2014-04-30 添加评论

赞同0
反对,不会显示你的姓名




腹黒MeGaNe,为了梦想

得根据具体需要吧。然后检索一下,看star,star高的一般都不错。

from:http://www.zhihu.com/question/22914651
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: