iOS学习资源汇总(开源项目、第三方库、技术博客等等)

前言

Github众所周知,全球最大的同性社区交友网站,在这里你可以获取任何你想要的,只要你想,只要Ta有。
从事开发几年在Github上Star了不少好的东西,当然学到了更多,在此深深的膜拜下那些开源的大神。
切入正题,下面对自己使用过或者Star过的第三方框架整理下,便于日后查阅,也方便他人借鉴,如果大家有什么好的库推荐,欢迎在本文下方评论,本篇文章不定时更新...

戳这里----->已上传Github at 2016.01.01


他人整理开源组件列表

awesome-ios<----点开有惊喜

Awesome-Swift-Education<----点开有惊喜

TimLiu-iOS<----点开有惊喜

iOS第三方库列表<----点开有惊喜


iOS学习资源

  • iOS9-day-by-day
  • iOS8-day-by-day
  • iOS9AdaptationTips iOS9适配
  • iOS开发最佳实践
  • iOS学习资源 包括WWDC心得等
  • SwiftGuide swift语言指南
  • 中文版Apple官方Swift教程
  • Git教程
  • iOS开源APP列表
  • iOS博客文章列表
  • Design-Patterns-In-Swift
  • awesome-swift
  • iOS开发学习笔记 入门必看
  • iOS学习笔记 推荐
  • 动画开源库集合
  • 苹果官方Demo集合

苹果AppStore被拒理由大全<----点开有惊喜


开源项目源码

  • PHPHub客户端
  • 仿写知乎日报
  • 高仿美团1
  • 高仿美团2
  • 高仿城觅
  • SegmentFault客户端
  • Monkey
  • 高仿网易
  • 高仿豆瓣
  • 码农周刊
  • Uber欢迎页
  • Tropos
  • MVVM架构的计算器
  • 网易新闻
  • 简阅

以下是简阅涉及到的几个关键技术,关键字列出来方便大家有针对性的看源代码:
全屏滑动(CWStackController)
网页抓取(TFHpple + XPath + NSRegularExpression)

夜间模式(UIAppearance + NSNotification)
离线阅读(NSURLProtocol + NSURLCache + CWObjectCache + SQLite3)
视频播放(HTML5 + JavaScript)
另外,开发期间恰逢 Swift 面世,所以里面也有少量 Swift 代码

  • VVeboTableViewDemo 列表优化
  • ECMobile 手机商城
  • 阅读器
  • 高仿下厨房
  • v2ex 客户端

部分独立组件

SCPullRefresh
方便自定义下拉刷新和上拉加载动画
SCNavigation
自定义 Navigation (NavigationBar相关以及NavigationController)所有元素完全自定义,通过 Pan 手势来完成类似 iOS7 的手势返回效果 。SCWeiboManager
对微博官方 SDK 的 block 封装。 更加易用,配置更简单。

  • watch开源项目
  • 热门标签
  • swift 天气
  • 模仿微信二维码扫描
  • 新闻类app 集成夜间模式/数据抓取

个人认为,多阅读优秀的源码,对自己的水平提升还是很有帮助的,三人行必有我师


APP相关

  • iRate

想要在App Store中获得更多评论的最佳方式是什么?想要回答这个问题,我缺乏切实数据,但如果必须猜一下的话,我会建议问问用户。也许这样做有点老套——大多开发者现在都有创建定制的应用内置alert。但是如果你没有时间,或者不想从头实现的话,最好用一下iRata。这个就是iRata——一个小型库——你可以把它放入项目中,把问卷调查什么的都忘记吧,iRate会在恰当的时候为你解决这个问题。

  • appirate

同样是提醒用户为APP评分

  • UAAppReviewManager

还是提醒用户评分

  • iVersion

提示版本更新

  • Instructions

操作指引框架 Swift编写

  • Onboard

启动导航界面,很方便的集成

  • CoreLaunch

启动界面进入主画面动画

  • BonMot

字体相关的库,设置字体样式

  • FontAwesomeKit

FontAwesomeKit 提供一些简单的助手类用来帮助在 iOS 上使用 FontAwesome。

  • Bugtags

收集崩溃日志,用户操作信息等,解决线上崩溃问题的神器

  • JMHoledView

首次启动APP的新手指引

  • PermissionScope

用这个库可以在询问用户前,就告知用户所需的系统权限,为用户带来更好的体验。接受度更高—>更多活跃用户->更高的留存率->数据更好->下载率更高

  • Presentation

swift下会动的启动页。

自动布局

  • Masonry

自动布局

  • PureLayout

自动布局

  • SnapKit

Swift布局框架 在代码中纯手工创建约束灰常痛苦,但幸运的是我们有了SnapKit,在board中用上它,你可以简单直观地编写约束了

网络请求

  • AFNetworking

网络请求 应该不会没人用过吧

  • Alamofire

Alamofire是一个简洁的网络库,用Swift语言编写。你是否曾经使用过AFNetworking呢?Alamofire是它的小弟。更年轻更时尚,当然(AFNetworking是用Objective-C编写的)

  • CocoaAsyncSocket

无疑是目前封装得最完善的Socket库了:支持异步TCP/UDP,支持GCD,Objective-C接口封装。。目前没有发现可以与之相比的同类产品

  • RxAlamofire

对 Alamofire的封装,很是强大

基础工具类以及Category

  • sstoolkit

一个不错的工具包,提供各种比如编码、加密、字符串处理等等东西,还提供了一些不错的自定义控件,并且文档非常齐全

  • BFKit OC版本
  • BFKit Swift版本

国外的一个大神写的很好用的分类,比较齐全

  • YYKit

最近很火的YY大神,应该不用多介绍了吧

  • BlocksKit

为基础类提供Block支持,很好用

  • DateTools

很强大的日期工具类

  • FlatUIKit

针对Foundation的扩展

  • iOS-Categories

很是全面的一个扩展 iOS中的各种Objective-C Category, a collection of useful Objective-C Categories extending iOS Frameworks such as Foundation,UIKit,CoreData,QuartzCore,CoreLocation,MapKit Etc.

  • RENCache

简单方便的缓存

  • RNCachingURLProtocol

webView 离线缓存库 好用

  • PinYin4Objc

拼音解析,很好用

  • ZipArchive

解压缩

  • Chameleon

Chameleon是一个iOS的色彩框架。它运用现代化flat color将UIColor扩展地非常美观。我们还可以通过它运用自定义颜色创建调色板。它还有很多功用,请浏览readme。如果你想要应用美观的话,一定要把这个库加到项目里。

  • CYLTabBarController

很方便集成的tabBarController框架

  • RKNotificationHub

展示通知图标

  • Material-Controls-For-iOS

大神模仿谷歌做的iOS原生特效控件

弹出框

  • TYAlertController

很好很强大的弹出框,多种样式满足你的需求

  • JKPopMenuView

一个简单的弹出菜单

  • STPopup

很方便的弹出框

  • MMPopupView

里脊串的弹出框

  • KGModal

模态弹出框,拖入两个文件就可以集成

  • NYAlertViewController

比较强大

  • MJPopupViewController
  • QBPopupMenu

长按出现复制粘贴等工具view

  • CWStatusBarNotification

酷炫的通知栏,多种通知样式,使用简单

动画

  • JHChainableAnimations

和Masonry类似,对核心动画进行了封装,链式动画,强烈推荐

  • Canvas

很强大不解释

  • VCTransitionsLibrary

转场动画库,跟着源码能学习到很多

  • iCarousel

默默的膜拜下大神,这个库很多APP都有使用到

  • tapkulibrary

看看demo你就知道干啥的了

  • YLGIFImage

用于展示Gif

  • TBIconTransitionKit

点击按钮过渡动画,很赞

  • Spring

使动画在简单性、可链接性与声明性方面有所提高。

  • awesome-ios-animation

含有当前主流的几种动画框架,可以学习下源码

  • FeSpinner

很多酷炫的加载动画,可以借鉴一下

文本相关

  • DTCoreText
  • [M80AttributedLabel]
    (https://github.com/xiangwangfeng/M80AttributedLabel/)

富文本demo

  • TTTAttributedLabel

很强大的Label,使用人数较多

  • SlackTextViewController

你曾经用过Slack iOS应用吗?如果你在较大的软件公司工作,也许会用过。对那些没用过的人呢?—?Slack令人激动。用到Slack的应用也是这样,尤其是用作极佳、定制的文本输入控制时。这时你有了一个现成可用在应用中的代码。自适应文本区域?试一下。手势识别、自动填充、多媒体合并?试一下。快速drop-in解决方案?试一下。其他还想要什么?SlackTextViewController 可以替代 UITableViewController & UICollectionViewController。

  • RTLabel

展示HTML的label

  • (Shimmer)[https://github.com/facebook/Shimmer]

Facebook出品

  • CSGrowingTextView

文本框会随着输入字数改变高度

  • LTMorphingLabel

效果非常炫的文本框

  • TextFieldEffects

动效不错,23333

  • DDRichText

为图文混排提供了一个思路

  • BMLine

便捷的为你的view 添加线条。。。。简直福利啊

加载进度条

  • DACircularProgress

圆形加载进度条

  • NJKWebViewProgress

webView 加载进度条 思路很好

  • MBProgressHUD

MBProgressHUD 使用非常广泛,网上很多基于ta的封装

  • SVProgressHUD

同上

  • Toast

和MBProgressHUD差不多

  • LCProgressHUD

对MBProgressHUD的简单封装,比较实用

  • TSMessages

消息通知提醒框,好用
加载图片

  • PINRemoteImage

pinterest 出品 效果不错

  • SDWebImage

使用最为广泛的加载图片第三方库

  • AlamofireImage

swift版本的SDWebImage

键盘类

  • DAKeyboardControl
  • IQKeyboardManager

IQKeyboardManager 有swift版本了。。。。

  • TPKeyboardAvoiding
  • RDRStickyKeyboardView

常用的UI聊天文本输入框封装

抽屉

  • ViewDeck

ViewDeck 非常强大 可能需要根据自己的实际业务需求做出相应的改造

  • MMDrawerController

没用过 听说过

  • SWRevealViewController

貌似不错

  • MSDynamicsDrawerViewController
  • PKRevealController

安装简便,高度定制且对手势识别良好。可以当做一个标准控件用在iOS SDK中。

NavigationBar

  • AMScrollingNavbar

swift语言编写 上下滑动时动态隐藏标题栏

  • LTNavigationbar

导航栏颜色动态改变

  • JZNavigationExtension

Navigation的扩展,强烈推荐

ScrollView相关

  • SwipeView

nicklockwood 大神出品

  • SWTableViewCell

自定义cell侧滑

  • MGSwipeTableCell

这是另一个常见于很多应用中的UI组件,苹果应该考虑在标准的iOS SDK中加入一些类似的内容。Swipeable表格cell是这个pod的最佳描述,也是最好的。

  • CHTCollectionViewWaterfallLayout

瀑布流学习demo

  • FDFullscreenPopGesture

很方便的集成全屏返回上一层界面

  • PDTSimpleCalendar

一款日历控件,可以看看

  • DZNEmptyDataSet

DZNEmptyDataSet UITableView/UICollectionView 超类,当视图没有内容的时候用来展示空数据集。DXNEmptyDataSet 能自动工作,只需要确认 DZNEmptyDataSetSource 和用户需要返回的数据。

  • WMPageController

WMPageController
是一个方便形成如同网易新闻首页,控制器滑动翻页效果的控制器

  • TYSlidePageScrollView

多种样式的界面复用

MJ系列

  • MJExtension

json解析框架

  • MJRefresh

刷新控件 MJ大神出品

Json解析

  • Reflect

swift下模型解析

.类反射
[](https://github.com/CharlinFeng/Reflect/blob/master/README_CN.md#一键字典转模型).一键字典转模型
[](https://github.com/CharlinFeng/Reflect/blob/master/README_CN.md#一键模型转字典).一键模型转字典
[](https://github.com/CharlinFeng/Reflect/blob/master/README_CN.md#一键plist转模型).一键plist转模型
[](https://github.com/CharlinFeng/Reflect/blob/master/README_CN.md#一键归档).一键归档

数据库

  • realm

据说很强大,还没用过,有时间研究下

  • fmdb

基本项目中使用的都是这个,支持多线程操作,不错

图表库

  • PNChart

各种各样的图表

  • ios-charts

iOS图表库!非常有用而且美观

  • DOPDropDownMenu

一款实用的下拉列表

框架相关

  • ReactiveCocoa

ReactiveCocoa(简称为RAC
),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。在我们iOS开发过程中,经常会响应某些事件来处理某些业务逻辑,例如按钮的点击,上下拉刷新,网络请求,属性的变化(通过KVO)或者用户位置的变化(通过CoreLocation)。但是这些事件都用不同的方式来处理,比如action、delegate、KVO、callback等。
其实这些事件,都可以通过RAC处理,ReactiveCocoa为事件提供了很多处理方法,而且利用RAC处理事件很方便,可以把要处理的事情,和监听的事情的代码放在一起,这样非常方便我们管理,就不需要跳到对应的方法里。非常符合我们开发中高聚合,低耦合的思想。

  • JSPatch

使用JavaScript调用任何Objective-C的原生接口,获得脚本语言的能力:动态更新APP,替换项目原生代码修复bug

  • nimbus

nimbus iOS框架 three20停止更新后的替代品

BeeFramework是一款iOS平台的MVC应用快速开发框架,使用Objective-C开发。 其早期原型曾经被应用在QQ空间 、QQ游戏大厅 等多款精品APP中。 BeeFramework 从根本上解决了iOS开发者长期困扰的各种问题,诸如:分层架构如何设计,层与层之间消息传递与处理,网络操作及缓存,异步及多线程,以及适配产品多变的UI布局需求。

  • WebViewJavascriptBridge

如果你需要JS和原生交互,那么就使用他吧

  • KMNavigationBarTransition

一个用来统一管理导航栏转场以及当 push 或者 pop 的时候使动画效果更加顺滑的通用库,并且同时支持竖屏和横屏。你不用为这个库写一行代码,所有的改变都悄然发生。

图片处理以及展示相关

  • GPUImage

GPUImage是一个基于GPU图像和视频处理的开源iOS框架,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜; 基于GPU的图像加速,因此可以加速对实时摄像头视频、电影以及image的滤镜和其它效果处理,并且能够自定义图像滤镜。另外, GPUImage支持ARC

  • FXBlurView

背景模糊
-MSSBrowse
模仿微信图片点击放大效果,很棒

  • IDMPhotoBrowser

图片浏览器,非常好用

  • AGImagePickerController

相册选择

  • DNImagePicker

类似微信的图片选择器

  • JFImagePickerController

效果不错的

  • Nuke

swift下图片处理库

音频/视频

  • KRVideoPlayer

36氪开源的视频播放器

  • DOUAudioStreamer

豆瓣开源 DOUAudioStreamer 是 iOS 和 Mac 的基于核心音频的流媒体音频播放器。

  • FreeStreamer

效率很高、所占内存很小的在线流媒体(Audio Stream)播放引擎,支持 ShoutCast 和 IceCast 流媒体协议,以及可以暂停和恢复播放。具体具备以下特色:1. 效率很高,占用内存很小(虽然是核心代码是C ,但是OBJ调用没有额外性能消耗);2. 支持 ShoutCast 和 IceCast 流媒体协议,以及标准的 HTTP 传输协议;3. 可以检测流媒体的格式;4. 支持 ShoutCast metadata5. 支持暂停和恢复流媒体播放;6. 支持背景播放;7. 支持 ID3v2;8. 支持 Podcast RSS feeds

  • ESTMusicPlayer

PHPHub开源播放器,默默点个赞

  • VKVideoPlayer

可定制性比较高的播放器

内购/推广

  • IAPHelper

应用内付费给我们提供了很多样本代码,而这个库丢掉了那些代码,将金钱交易相关的大多通用任务做了简单的封装。

  • DAAppsViewController

应用推广界面,填写合作app的appleId即可

  • TAPromotee

交叉推广应用是你可以免费实现的最佳市场推广策略之一。使用这个库做起来非常简单,不用都不可能——将TAPromotee加入你的podfile中,免费配置与享受更多下载吧。

IM相关

  • MessageDisplayKit

用于聊天App显示消息的页面,可以发送文本、声音、图片、视频等消息(不过目前的Demo似乎仅支持输入文本)。界面模仿微信App。

  • JSQMessagesViewController

很强大的消息界面UI库

存储相关

  • sskeychain

便捷的使用keyChain存储用户名密码等


Tip


学习的路上总是曲折的,每个人都是从菜鸟过来的,遇到问题总是希望能够与他人沟通交流,而在各种群里问了问题就石沉大海,所以想建一个技术交流为主的群,遇到的问题可以记录下来分享给他人,方便了自己,也造就了他人,不管怎样,记录点滴,但愿与君共勉

*QQ群号:527377492 *

iOS学习资源汇总(开源项目、第三方库、技术博客等等)_第1张图片
Paste_Image.png

你可能感兴趣的:(iOS学习资源汇总(开源项目、第三方库、技术博客等等))