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

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

2016-10-11 11:11 441 查看


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

字数3919 阅读10309 评论29 喜欢297


前言

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存储用户名密码等

转载于http://www.jianshu.com/p/b7c4a787a597仅供学习使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐