iOS的各种开源项目集合《五》

网络连接

AFNetworking- ASI不升级以后,最多人用的网络连接开源库,iOS网络编程之AFNetworking使用,iOS开发下载文件速度计算,AFNetworking 3.0迁移指南,AFNetworking2.0源码解析<一>

Alamofire- Alamofire是AFNetworking的作者mattt新写的网络请求的swift库。

YTKNetwork- 是基于 AFNetworking 封装的 iOS网络库,提供了更高层次的网络访问抽象。相比AFNetworking,YTKNetwork提供了以下更高级的功能:按时间或版本号缓存网络请求内容、检查返回 JSON 内容的合法性、文件的断点续传、批量的网络请求发送、filter和插件机制等。

LxFTPRequest- 支持获取FTP服务器资源列表,下载/上传文件,创建/销毁ftp服务器文件/目录,以及下载断点续传,下载/上传进度,自动判断地址格式合法性跟踪等功能!国人开发,QQ:349124555。

HSDownloadManager- HSDownloadManager,下载音乐、视频、图片各种资源,支持多任务、断点下载。

MutableUploadDemo- 模拟需求:图文混编,要求用户选择图片后就上传,可选择多图,并行上传,用户确定提交后后台执行,必须全部图片上传完才能提交文字。

WTRequestCenter- 方便缓存的请求库,提供了方便的HTTP请求方法,传入请求url和参数,返回成功和失败的回调。 UIKit扩展提供了许多不错的方法,快速缓存图片,图片查看,缩放功能, 颜色创建,设备UUID,网页缓存,数据缓存等功能。 无需任何import和配置,目前实现了基础需求。

MMWormhole- Message passing between iOS apps and extensions 2个iOS设备之间通信。

socket.io-client-swift- WebSockect 客户端类库。开放的通讯协议,有利于构建强大地跨平台应用。

Transporter- swift, 短小、精悍、易用的多文件(并发或顺序)上传和下载传输库。还支持后台运行、传输进程跟踪、暂停/续传/取消/重试控制等功能。

STNetTaskQueue- STNetTaskQueue Objective-C 可扩展网络请求管理库。

CocoaAsyncSocket- 在iOS开发中使用socket,一般都是用第三方库AsyncSocket,不得不承认这个库确实很强大,使用教程

GCDAsyncSocket- GCDAsyncSocket ,不错的Demo

Just- 小而美的 HTTP 类。功能简单、直接、完整且健壮性高-- swift。

Future- 基于微框架设计思想的异步执行及结果响应类,代码即简单又干净-- swift。

MZDownloadManager- 下载管理。

DVR- 针对网络请求的测试框架,超实用的工具。且支持 iOS, OSX, watchOS 全平台。

HFDownLoad- iOS开发网络篇之文件下载、大文件下载、断点下载:NSData方式、NSURLConnection方式、NSURLSession下载方式下载方式具体的思路、区别见Blog

Pitaya.swift- Pitaya 是纯 Swift 写的 iOS 网络库,支持 Basic Authorization、SSL 钢钉、HTTP raw body / JSON body、快速文件上传等特性,并通过内置 JSONNeverDie 实现了对 JSON 的完全支持,开箱即用。中文文档

图像获取

SDWebImage- SDWebImage 网络图片获取及缓存处理。

Kingfisher- 纯 Swift 实现的类 SDWebImage 库,实现了异步下载和缓存图片。

KFSwiftImageLoader- Swift,一个图像缓存加载库。

FastImageCache- FastImageCache 网络图片获取及缓存处理,iOS图片加载速度极限优化—FastImageCache解析

EGOCache- 十分知名的第三方缓存类库,可以缓存NSString、UIImage、NSImage以及NSData。除此,如果还可以缓存任何一个实现了接口的对象。所有缓存的数据都可以自定义过期的时间,默认是1天。EGOCache 支持多线程(thread-safe),UITableView加载多张照片导致内存上涨的问题

YYWebImage- 一个图片加载库 YYWebImage,支持 APNG、WebP、GIF 播放,支持渐进式图片加载,更高性能的缓存,更多图像处理方法,可以替代 SDWebImage 等开源库,相关文章

网络聊天

XMPPFramework- XMPPFramework openfire聊天。

SXTheQQ- 用xmppFramework框架编写QQ程序,主要为了练习通讯的一些原理,界面比较渣 必须要先在本地配置好环境才可以运行。

环信- 给开发者更稳定IM云功能。8200万用户考验,好用!(暂无及时语音、视频通话)

融云- 即时通讯云服务提供商。(暂无及时语音、视频通话)

容联云通讯- 提供基于互联网通话,视频会议,呼叫中心/IVR,IM等通讯服务。

chatsecure- 基于XMPP的iphone、android加密式聊天软件,chatsecure官网iOS代码1iOS代码2iOS中文版

MessageDisplayKit- 仿微信聊天,参考JSQMessagesViewController。(国人写)

JSQMessagesViewController- 聊天 。

SunFlower- 环信聊天demo,比较多功能 。

BlueTalk蓝牙聊天- 以MultipeerConnectivity为基础, 实现了简单的蓝牙聊天。

网络测试

Reachability- 苹果提供过一个Reachability类,用于检测网络状态。但是该类由于年代久远,并不支持ARC。该项目旨在提供一个苹果的Reachability类的替代品,支持ARC和block的使用方式。iOS网络监测如何区分2、3、4G

Reachability.swift- 用于替换苹果的 Reachability 类,可以方便地检测当前是否联网以及具体的联网状态。

SimpleCarrie- 简单的运营商信息获取!。

NetReachability- swift2.0 简单的方法检查网络连接的连通性,提供通知中心集成接口。

NetworkEye- 一个网络调试库,可以监控App内HTTP请求并显示请求相关的详细信息,方便App开发的网络调试。

SimpleBS.swift- 网络测试小工具。

WebView

MGTemplateEngine- MGTemplateEngine比较象 PHP 中的 Smarty、FreeMarker 和 Django的模版引擎,是一个轻量级的引擎,简单好用。只要设置很多不同的HMTL模版,就能轻松的实现一个View多种内容格式的显示,对于不熟悉HTML或者减轻 工作量而言,把这些工作让设计分担一下还是很好的,也比较容易实现设计想要的效果。

NJKWebViewProgress- 一个 UIWebView 的进度条接口库,UIWebView 本身是不提供进度条的。

GTMNSString-HTML- 谷歌开源的用于过滤HTML标签。

Model

JSONKit- JSONKit库是非常简单易用而且效率又比较高的,重要的JSONKit适用于ios 5.0以下的版本,使用JSONKit库来解析json文件,只需要下载JSONKit.h 和JSONKit.m添加到工程中;然后加入libz.dylib即可。

JSONModel- 解析服务器返回的Json数据的库,JSONModel源码解析一

Mantle- Mantle主要用来将JSON数据模型化为OC对象, 大系统中使用。为什么选择Mantle

RFJModel- RFJModel是一个IOS类库,可以将JSON字典自动装填到OBJC对象。相比JSONModel有一些非常好的特性,使用上也比较简单。

XMLDictionary- ios与mac os平台下xml与NSDictionary相互转化开源类库。

MJExtension- 用于json转model进行使用,转换效率很高,使用也比较简单,只要前后台约定好,json直接就转成了model。

CFRuntime- “Swift 版的 MJExtension,运行时、反射与一键字典模型互转”。

DDModel- 快速搭建项目Model层,支持ORM映射关系,能从JSON/XML直接实例一个Model对象。支持SQLite本地数据持久化,封装了HTTP, 减少HTTP代码与UIViewController的代码耦合,支持Cache;类似RESTKit、Mantle的功能;使用该类库以后简化了网络层的开发工作,把更多的精力放在UI上面;目前只支持GET/POST方法的请求。使用到的第三方库有:1.SQLitePersistentObject; 2.JTObjectMapping; 3.AFNetworking; 4.XMLDictionary;

protobuf-swift- Protocol Buffers 的 Swift 语言实现库。P.S. Protocol Buffers 是 Google 开源项目,主要功能是实现直接序列化结构化的对象数据,方便跨平台快速传递,开发者也可以直接修改 protobuf 中的数据。相比 XML 和 JSON,protobuf 解析更快,存储更小。

JSONCodable- 基于 Swift 2.0 新特性(Protocol Extensions and Error Handling)的JSON 解析类。

SwiftyJSON- 使Swift的JSON解析变得简单。

JSONNeverDie.swift- JSON 到 Model 类的自动映射工具。

Fuzi.swift- Swift实现的轻量快速的 XML/HTML 解析器。

SWXMLHash.swift- 易用的 XML 解析类库。非常实用的“轮子”。

YYModel- 高性能的 iOS JSON 模型框架。

通讯录

快速查找联系人- 类似微信联系人搜索的界面,快速查找联系人,并支持点击查询结果 。

其他

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等)被键盘覆盖问题,并可设置高于键盘多少。

自动监听键盘高度- 自动监听键盘高度,初始界面,输入框在屏幕最下方,当键盘出现时,输入框随即移动到键盘上方。

KeyboardToolBar- 从此不再担心键盘遮住输入框,文档

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 二维码阅读组件及示例,提供前后相机切换功能。

QR-Code-Generator.swift- 生成二维码。

QRCatcher- 一个简洁美观的二维码扫描应用,iOS学习:AVFoundation 视频流处理--二维码扫描

MQRCodeReaderViewController- 二维码扫描控件, UI 做了优化, 仿造微信, 直接拖进项目就可使用。

Parsimmon- swift,小而美的语言学类库封装工具包。提供分词、标记词性、词形归并、朴素贝页斯分类、决策树等自然语言分析小工具。P.S. 英语分词效果好于中文,感兴趣的同学可以针对中文做一些优化开发。参考译文 NSHipster -NSLinguisticTagger

Password-keyboard- 随机变换数字位置的密码键盘。 模仿银行类应用在付款时输入的随机密码键盘。

MKMapView-Extension- 这是关于 MKMapView 写的一个基于swift的扩展,可以扩展 MKMapView 的相关功能,减少复用代码量。

SemverKit- 针对符合『语义化版本规范 2.0.0』版本号的解析、比较运算类库。不仅支持 Major, Minor, Patch,还支持 Alpha 和 Beta 预发布版本,以及相应地递增运算扩展。

SwiftValidator- 基于规则的输入验证类库。项目良好的面向对象设计思想,使规则的扩展及自定义非常方便。更专业的规则引擎(甚至是基于自然语言的规则配置)解决方案,比如:开源的 Drools,商用的 ILOG 等。

Tesseract-OCR-iOS- 有关OCR文字识别项目。

Screenotate- 支持 OCR 文字识别的载屏笔记 Mac 完整应用。

cocoacats- 【分类汇总】里面收集了 iOS 中常用的分类文件,一直在更新。。

Olla4iOS- 过去积累的一些方便复用的类和方法,还在整理中。

DKNightVersion- 用最快的方式给你的应用加上夜间和白天的切换效果。

TouchVisualizer- 实用的多点触摸可视化组件。扩展并作用于 UIWindows,结构上提供了简单地针对触摸显示定制,比如触摸点的颜色。

RegexKitLite- 用来处理正则表达式。

Regex.swift- 实用的正则表达式微框架类库。

PySwiftyRegex.swift- 像Python一样简洁高效地作正则处理。

PhoneNumberKit.swift- 解析、格式化及验证国际电话号码工具库(相当于 Google 的 libphonenumber 库的 Swift 版本)。

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 上的权限请求,以便使用前确认可访问“相册”、“相机”、“麦克风”、“通讯录”或“用户位置”。

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

LocationManager- CoreLocation使用起来还是比较麻烦的,需要授权,判断系统版本等等,所以推荐使用第三方框架LocationManager,使用Block,十分简单!iOS-CoreLocation:无论你在哪里,我都要找到你!

pangu.objective-c- 有多种语言实现版本~ Pangu.Objective-C:格式化中英文之间的空格(OC)。

objection- 一个轻量级的依赖注入框架Objection。

ControlOrientation- 如何用代码控制以不同屏幕方向打开新页面【iOS】,使用说明

iRate- 问卷调查。

GameCenterManager- 在iOS上管理GameCenter vanilla并不算难,但是有了这个库会更简单也更快。好上加好不是更好么。

SlackTextViewController- 用作极佳、定制的文本输入控制时,自适应文本区域,手势识别、自动填充、多媒体合并,快速drop-in解决方案。

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

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

DownloadFontOnline- 实现了在线下载一些字体的功能,不用在工程中导入字体库,下载的字体也不会保存在你的应用中,所以可以放心使用。修复了一下崩溃的bug。

STClock- 仿锤子时钟。

GitUp- GitUp是一个可视化的Git客户端,能够实时的进行编辑、合并、回滚等多种操作,更多功能,请下载体验。

获取联系人信息,通讯录- 获取联系人信息,通讯录。

Universal-Jump-ViewController- 根据规则跳转到指定的界面(runtime实用篇一)。

Device-swift- 可以非常方便的获取设备型号和屏幕尺寸,实现起来难度不大,大家可以学习一下源码。

RunKit.swift- 针对 GCD 框架的一个友好访问封装库(支持方法链式调用)。

Plum-O-Meter- swift 称重应用, (3D Touch之我见)[http://swift.gg/2015/10/23/3d-touch-impressions-and-thoughts/]。

打开自带地图、百度地图、腾讯地图- 打开自带地图、百度地图、腾讯地图。

batteryLevelTest- runtime精准获取电池电量,文档

openshare- 不用官方SDK,利用社交软件移动客户端(微信/QQ/微博/人人/支付宝)分享/登录/支付。。

DateTools- 用于提高Objective-C中日期和时间相关操作的效率。灵感来源于 DateTime和Time Period Library。

DDSlackFeedback- 用这个接口实现的摇一摇上传文字或者截屏反馈到你的 Slack channel,特别适合测试 app 的时候用,集成也很简单。

BabyBluetooth- 是一个非常容易使用的蓝牙库, 适用于 iOS 和 Mac OS, 基于原生 CoreBluetooth 框架封装, 可以帮开发者们更简单地使用 CoreBluetooth API, 使用链式方法体, 使得代码更简洁、优雅。

BluetoothKit.swift- 基于 CoreBluetooth API 实现iOS/OS X 设备间蓝牙通讯封装类库。功能强大、传输稳定,示例完整,很酷。

CoreDataStack.swift- 存储栈。

SYNQueue.swift- 执行队列类库。

DDMathParser.swift- 相比 NSExpression 和 GCMathPaser,功能更强大的数学表达式解析器。

RateLimit.swift- 简单、实用定时执行任务工具类库。

iOS-Categories- 收集了许多有助于开发的iOS扩展,各种category分类。

YYCategories- 功能丰富的 Category 类型工具库。

YYAsyncLayers- iOS 异步绘制与显示的工具。

YYDispatchQueuePool- iOS 全局并发队列管理工具。

YYKeyboardManager- iOS 键盘监听管理工具。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,123评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,031评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,723评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,357评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,412评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,760评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,904评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,672评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,118评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,456评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,599评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,264评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,857评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,731评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,956评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,286评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,465评论 2 348

推荐阅读更多精彩内容