iOS超全开源框架、项目和学习资料汇总--数据库、缓存处理、图像浏览、摄像照相视频音频篇
iOS超全开源框架、项目和学习资料汇总--数据库、缓存处理、图像浏览、摄像照相视频音频篇
感谢:Ming_en_long 的分享
大神超赞的集合,http://www.jianshu.com/p/f3e7008791f2?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io与大家共享
iOS超全开源框架、项目和学习资料汇总(3)网络和Model篇
数据库
FMDB– sqlite的工具,多线程FMDatabaseQueue实例,FMDB数据库的使用演示和封装工具类。GXDatabaseUtils– 在FMDB基础上的工具。
realm-cocoa– Realm是一个真正为移动设备打造的数据库,同时支持Objective-C和Swfit。Realm宣称其相比Sqlite,在移动设备上有着更好的性能表现。
Breeze– 用Swift写的一个轻量级的CoreData管理工具,并且还支持iCloud 。
AlecrimCoreData– Swift,更容易地访问 CoreData 对象封装类库。除了 CRUD,还提供指针定位,强大的排序、筛选,异步数据获取,以及独立线程后台存取数据。
CoreStore– Core Data 管理类库。 其中事务管理及查询是其比较大的亮点,整套 API 功能完整。
Presentation– 重量级好项目 Presentation,它可以方便你制作定制的动画式教程、Release Notes、个性化演讲稿等。
CoreValue– Swift 2 版 Core Data 封装库。相比另外两个SwiftRecord和CoreStore更轻量。
缓存处理
YTKKeyValueStore– Key-Value存储工具类,说明。
TMCache– TMCache 是 Tumblr 开源的一个基于 key/value 的数据缓存类库,可以用于缓存一些临时数据或者需要频繁加载的数据,比如某些下载的数据或者一些临时处理结果。
JLKeychain– 快捷使用keychain存储数据的类,使keychain像NSUserDefaults一样工作。
sskeychain– SSKeyChains对苹果安全框架API进行了简单封装,支持对存储在钥匙串中密码、账户进行访问,包括读取、删除和设置。
KeychainAccess– 管理Keychain接入的小助手。
图像浏览及处理
FLAnimatedImage– gif播放处理的工具。
CLImageEditor– 超强的图片编辑库,快速帮你实现旋转,防缩,滤镜等等一系列麻烦的事情。
VIPhotoView– 用于展示图片的工具类,因为是个 View,所以你可以放在任何地方显示。支持旋转,双击指定位置放大等。
MWPhotoBrowser– 一个非常不错的照片浏览器,在github的star接近3000个,解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题。
core-image-explorer– Core Image 滤镜处理图片– swift ,Core Image 介绍。
CoreImageShop– CoreImageShop图片滤镜处理– Mac app that let you create a complete Core Image Filter usable on iOS using SCRecorder。
GPUImage– 处理图片效果。
RSKImageCropper– 适用于iOS的图片裁剪器,类似Contacts app,可上下左右移动图片选取最合适的区域。
WZRecyclePhotoStackView– 删除照片交互–WZRecyclePhotoStackView,就是模拟生活中是删除或保留犹豫不决的情形而产生的。 在上滑,下滑的部分,借鉴了TinderSimpleSwipeCards。
TimingFunctionEditor– TimingFunctionEditor用swift编写, 贝塞尔曲线编辑器,编辑后可以预览或拷贝代码片段直接使用。P.S. 该项目采用更简单的依赖管理器Carthage,而非常用的 CocoaPods。Carthage介绍中文。
AAFaceDetection– AAFaceDetection–swift,简单、实用的面部识别封装库。虽然该技术从 iOS 5 发展,不过真正有趣的应用还不多。。
PhotoTweaks– 这个库挺赞的,正好是对图像操作的。
Concorde– swift, Concorde, 一个可用于下载和解码渐进式 JPEG 的库, 可用来改善应用的用户体验。
ZoomTransition– swift, 通过手势操控图片的放大、缩小、旋转等自由变化效果的组件及示例。
AFImageHelper– swift,一套针对 UIImage 和 UIImageView 的实用扩展库,功能包含填色和渐变、裁剪、缩放以及具有缓存机制的在线图片获取。
PinterestSwift– swift,Pinterest 风格图片缩放、切换示例。
KYElegantPhotoGallery– 一个优雅的图片浏览库。
SDCycleScrollView– 无限循环自动图片轮播器(一步设置即可使用)。
SDPhotoBrowser– 仿新浪动感图片浏览器,非常简单易用的图片浏览器,模仿微博图片浏览器动感效果,综合了图片展示和存储等多项功能。
HZPhotoBrowser– 一个类似于新浪微博图片浏览器的框架(支持显示和隐藏动画;支持双击缩放,手势放大缩小;支持图片存储;支持网络加载gif图片,长图滚动浏览;支持横竖屏显示)。
PhotoStackView-Swift– PhotoStackView——照片叠放视图,使用说明。
MarkingMenu– 基于手势、类似 Autodesk Maya 风格标记菜单及图片渲染。
UICollectionViewFlowLayout流水布局
是当下collectionView中常用且普通的布局方式。本代码也写了三种好看的布局,其中LineLayout和流水布局有很大的相同点就直接继承UICollectionViewFlowLayout,然后StackLayout,CircleLayout这两种都是直接继承自最原始的UICollectionViewLayout
布局方案。
摄像照相视频音频处理
ZFPlayer- 基于AVPlayer,支持竖屏、横屏(横屏可锁定屏幕方向),上下滑动调节音量、屏幕亮度,左右滑动调节播放进度ZFPlayer剖析
SCRecorder– SCRecorder 短视频录制。
VideoPushDemo– 视频剪辑视频特效制作1视频特效制作2。
LLSimpleCamera– A simple, customizable camera control for iOS, 摄像头。
EZAudio– EZAudio 是一个 iOS 和 OSX 上简单易用的音频框架,根据音量实时显示波形图,基于Core Audio,适合实时低延迟音频处理,非常直观。中文介绍,官网。
ffmpeg– ffmpeg官网,FFmpeg在iOS上完美编译。
VCL– VCL官网。
kxmovie– 使用ffmpeg的影片播放器,修改说明,修改代码。
ijkplayer– B站开源的视频播放器,支持Android和iOS。
StreamingKit– StreamingKit流媒体音乐播放器。
FreeStreamer– FreeStreamer流媒体音乐播放器,cpu占用非常小。
DOUAudioStreamer– DOUAudioStreamer豆瓣的音乐流媒体播放器。
fmpro– 电台播放器,支持锁屏歌词,支持基本播放流程,歌词展示,后台锁屏播放和控制以及锁屏后封面+歌词,fmpro_R。
IPDFCameraViewController– 支持相机定焦拍摄、滤镜、闪光、实时边框检测以及透视矫正功能,并有简单易用的API。
酷似 Instagram/Vine 的音频/视频摄像记录器,以 Objective-C 为基础的过滤器框架。
你可以做很多如下的操作:记录多个视频录像片段。删除任何你不想要的记录段。可以使用任何视频播放器播放片段。保存的记录可以在序列化的
NSDictionary 中使用。(在 NSUserDefaults 的中操作)添加使用 Core Image 的视频滤波器。可自由选择你需要的
parameters 合并和导出视频。
Cool-iOS-Camera– Cool-iOS-Camera。
FastttCamera– FastttCamera 快速照相。
ICGVideoTrimmer– ICGVideoTrimmer提供提供视频剪切的视图(类似系统相册中浏览视频时顶部那个条状视图)。左右两个边界选择器还能够自定义。
IOS录音和播放功能demo– 比较完整的ios录音和播放功能的实现。
CameraManager– 相机管理封装类库。看着极好用的样子—-swift。
MCAudioInputQueue– 简易录音类,基于AudioQueue的。
DraggableYoutubeFloatingVideo– 展示像类似Youtube移动应用的那种浏览视频的效果,当点击某视频时能够从右下方弹出一个界面,并且该界面能够通过手势,再次收缩在右下方并继续播放。这是通过AutoLayout设计实现。
amr– 做即时通讯的音频处理,录音文件是m4a,便于web端的音频播放。
FSVoiceBubble– 一个轻量级播放录音音频的气泡:1.支持短时间的音频播放(支持网络音频);2.播放时的声波动画;3.自定义包括声波的颜色,气泡的背景等。
KRVideoPlayer– 类似Weico的播放器,支持竖屏模式下全屏播放。
其他
DateTimeKit– 一个超赞的时间处理的库,Joda-Time ! 他能帮你轻松处理时区,处理时间加减,计算到期时间等等场景下的问题。
SwiftDate– 特别完整、强大的日期时间操作管理类库。它几乎涵盖了已知开源日期类库所有优秀特性。 他能帮你轻松处理时区,处理时间加减,计算到期时间等等场景下的问题。
iOS私有API– 私有API,绿色 == public,红色 == private,蓝色 == dylib。
iOS源代码– iOS源代码。
libfacedetection– C++ 人脸识别 包含正面和多视角人脸检测两个算法.优点:速度快(OpenCV haar+adaboost的2-3倍), 准确度高 (FDDB非公开类评测排名第二),能估计人脸角度。
Slidden– 一个老外开源的开发自定义键盘的库,利用这个开源库,可以方便的配置键位、颜色以及键位对应的图片。
TPKeyboardAvoiding– 用户键盘弹出自动计算高度,进行屏幕滚动操作。
CDPMonitorKeyboard– CDPMonitorKeyboard封装,可以解决输入视图(例如textField,textView等)被键盘覆盖问题,并可设置高于键盘多少。
自动监听键盘高度– 自动监听键盘高度,初始界面,输入框在屏幕最下方,当键盘出现时,输入框随即移动到键盘上方。
SYKeyboardTextField– SYKeyboardTextField 是一个轻巧,简单,非侵入式的键盘附随输入框! 采用Swift编写。
BlocksKit– block框架,为 OC 常用类提供了强大的 Block 语法支持,使得编写 OC 代码变得舒适、快速、优雅。
KVOController– 在项目中有使用 KVO ,那么 KVOController 绝对是个好选择。它是 facebook 开源的一个 KVO 增强框架。
appirater– 用于提醒用户给你的 APP 打分的工具。
MotionKitr– 为核心运动框架(The Core Motion framework)提供友好的类库封装,以更方便使用三轴陀螺仪和加速感应器特性。
Review Monitor– 第一时间自动推送 Apple Store 的用户评论到你的邮件箱或者 Slack,第一时间跟进用户反馈,打造优秀 App 必备工具!类似的有:App annie 的类似功能。
WBWebViewConsole– 类似微博iPhone客户端的 “调试选项” 吗?把其中的 “内置浏览器网页调试” 开源在 Github 上了。
ios-good-practices– ios-good-practices iOS 开发最佳实践。
iOS开发最佳实践– iOS 开发最佳实践 — 中文。
TodayExtensionSharingDefaults– TodayExtensionSharingDefaults是一个iOS 8 Today扩展示例,可以使用NSUserDefaults与其containing app分享数据。
QRCodeReader.swift– QRCodeReader.swift一款简单的 QR 二维码阅读组件及示例,提供前后相机切换功能。
QRCatcher– 一个简洁美观的二维码扫描应用,iOS学习:AVFoundation 视频流处理–二维码扫描。
Parsimmon– swift,小而美的语言学类库封装工具包。提供分词、标记词性、词形归并、朴素贝页斯分类、决策树等自然语言分析小工具。P.S. 英语分词效果好于中文,感兴趣的同学可以针对中文做一些优化开发。参考译文 NSHipster –NSLinguistic?Tagger。
Password-keyboard– 随机变换数字位置的密码键盘。 模仿银行类应用在付款时输入的随机密码键盘。
MKMapView-Extension– 这是关于 MKMapView 写的一个基于swift的扩展,可以扩展 MKMapView 的相关功能,减少复用代码量。
SemverKit– 针对符合『语义化版本规范 2.0.0』版本号的解析、比较运算类库。不仅支持 Major, Minor, Patch,还支持 Alpha 和 Beta 预发布版本,以及相应地递增运算扩展。
SwiftValidator– 基于规则的输入验证类库。项目良好的面向对象设计思想,使规则的扩展及自定义非常方便。更专业的规则引擎(甚至是基于自然语言的规则配置)解决方案,比如:开源的 Drools,商用的 ILOG 等。
Tesseract-OCR-iOS– 有关OCR文字识别项目。
iOS-Categories– 收集了许多有助于开发的iOS扩展,各种category。
Olla4iOS– 过去积累的一些方便复用的类和方法,还在整理中。
DKNightVersion– 用最快的方式给你的应用加上夜间和白天的切换效果。
TouchVisualizer– 实用的多点触摸可视化组件。扩展并作用于 UIWindows,结构上提供了简单地针对触摸显示定制,比如触摸点的颜色。
RegexKitLite– 用来处理正则表达式。
XcodeServerSDK– 非官方 Xcode Server SDK 封装库。 P.S. 该 SDK 分离自之前推荐的由该作者开发的自动测试框架Buildasaur。
BFKit-Swift– BFKit-Swift 这套工具库可以提高应用开发效率。
CKSIncrementalStore– 基于 CloudKit 服务器实现多终端数据同步。
SwiftSequence– 简洁、灵活、多变的操作 SequenceType 的类库(基于微框架(μframework)设计思想)。
IDNFeedParser– 一个简单易用的Rss解析库。
CoreUmeng– 简单:友盟分享封装。
openshare– 不用官方SDK,利用社交软件移动客户端(微信/QQ/微博/人人/支付宝)分享/登录/支付。
Swifternalization– 一套实用的本地化工具库。使用教程及 API 文档完整。值得收入项目的“轮子”。
apous– 一款有趣的 Swift 应用 - 让 Swift 成为脚本语言。
Mirror– 通过反射(Refection)实现镜像对象封装库。从而可以更轻松获取(或输出)对象属性名、类型及值变量。
Proposer– Proposer 用单个 API 处理 iOS 上的权限请求,以便使用前确认可访问“相册”、“相机”、“麦克风”、“通讯录”或“用户位置”。
LocationManager– CoreLocation使用起来还是比较麻烦的,需要授权,判断系统版本等等,所以推荐使用第三方框架LocationManager,使用Block,十分简单!
iOSCoreLocation:无论你在哪里,我都要找到你!。
pangu.objective-c– 有多种语言实现版本~ Pangu.Objective-C:格式化中英文之间的空格(OC)。
objection– 一个轻量级的依赖注入框架Objection。