网上搜集第三方
Posted IOS_Bowen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网上搜集第三方相关的知识,希望对你有一定的参考价值。
ios开发-常用第三方开源框架介绍
为了了解一下目前第三方库的普及程度,下面列举一些知名App对第三方库的依赖。
网易新闻
Garageband
SBJson (json-framework)
iWork三套件
Pinterest
多看阅读
Skia (Google)
淘宝
SBJson (json-framework)
微信
QQ
ASIHTTPRequest
FMDB
CocoaAsyncSocket
JSONKit
MBProgressHUD
OpenUDID
SBJson
SVPullToRefresh
百度地图
微博
人人
可以看到,这些大型的App的依赖都很混乱,所以稍微解释一下。这些大公司都有一个iOS团队来协同开发,团队成员的水平也参差不齐。有时由于历史原因,例如某个App的某个组件依赖了ASIHttpRequest,但之后的新人改用了AFNetworking,就造成上面这种比较混乱的库依赖关系。这就造成难以维护、代码冗余等问题了。所以,引入一个第三方库一定要慎重考虑,如果可能,尽量自己开发和实现相应的功能,第三方库尽量只作为参考。 小团队或者个人开发者可以不必过多考虑,开发速度优先。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2014年8月7号新增
系统基础库
Category/Util
sstoolkit | 一套Category类型的库,附带很多自定义控件 功能不错~ | ||
BlocksKit | 将Block风格带入UIKit和Founcation | ||
cocoa-helpers | 一些Cocoa的扩展 2年前的工程 | ||
CoconutKit | 一系列扩展和一些自定组件 | ||
STUtils | 一系列扩展包 | ||
PSFoundation | 一系列扩展 和功能增强 | ||
ConciseKit | 一系列宏定义 挺有意思 | ||
DTFoundation | 又一系列扩展。。。 | ||
BBBootstrap | 一些常见功能的扩展库 | ||
cooliris-toolkit | cooliris出品的基础工具库,从GoogleCode clone过来 | ||
BaseKit | 一套基础工具库 | ||
NSObject-Utility-Categories | 如题 | ||
NSArray-Utilities | 如题 | ||
aqtoolkit | 一些常用的东西 | ||
DLIntrospection | 一些NSObject的扩展 | ||
NSDate-Extensions | 如题日期 | ||
ALActionBlocks | 在UIControl上添加的Block事件 | ||
jrswizzle | 主要是swizzling | ||
moriarty | 一些还算有用的功能 | ||
QSUtilities | 一些基础库 (Instagram有用到) | ||
libextobjc | 一堆oc的扩展 | ||
PrettyTimestamp | 友好时间的扩展 | ||
ios-jail-break-detector | 检测是否越狱 有上线 | ||
crackify | 检测App是否被破解 | ||
NSBundle-OBCodeSigningInfo | 检查当前签名、Sandbox状态 MacOSX | ||
UIView-AnimatedProperty | 为UIView添加动画效果的property,有用到swizzle | ||
Block-KVO | Block风格的KVO~ | ||
MTDates | 一些Data的category | ||
CocoaSecurity | 常见的哈希、加密解密算法 | ||
sskeychain | 访问keychain 支持iOS Mac | ||
ABContactHelper | 访问联系人 | ||
UISS | 用JSON的风格设置UIKit样式 | ||
Underscore.m | 仿JS的underscore.js来写的,用于访问和处理数据 | ||
TICoreDataSync | 在不同设备间对CoreData进行同步 (iPhone iPad Mac) | ||
SoloComponents-iOS | 几个轻量的组件,没什么用,2年没更新 | ||
MAObjCRuntime | 将运行时包装成ObjC | ||
Objective-C-Generics | 通过宏定义勉强实现的范型 | ||
TBMacros | 一些常用的宏定义 | ||
NSString-Ruby | 为Ruby程序员带来的字符串相关功能 | ||
ObjectiveRecord | CoreData包装的活动记录 有RoR风格的API | ||
FastImageCache | 滑动时快速显示图片的库,Path开发 |
基础功能
mediaextract | 纯C的一些常用媒体文件的解析读取 | ||
objection | 一个估计是java ee写多了的人搞的。。注解依赖注入xx工厂之类的 | ||
Typhoon | IoC容器啊~~ | ||
HTKit | 一票乱七八糟的东西 | ||
StringScore | 模糊匹配字符串 查找某两个字符串的相似程度 | ||
RegexKitLite | 正则表达式库 (从SF.net mirror过来) | ||
FormatterKit | 一个NSString的格式化工具 | ||
TMCache | 一个内存Cache | ||
EGOCache | EGOImage里面的 Cache功能 | ||
HJCache | 一个缓存网络内容等的Cache | ||
RNCryptor | 加密解密相关 貌似更上流, note:去看一下他博客 | ||
ssziparchive | zip压缩 zip解压~ | ||
ZipKit | 一个ZipKit 从bitbucket Mirror过来 | ||
ZipKit | 如同ZipKit 改为ARC了 | ||
zipzap | Zip文件处理 底层为libz | ||
MTMigration | 版本升时执行一次 | ||
MTControl | jQuery风格touch事件绑定 | ||
storage | 快速、线程安全的I/O存储操作 | ||
CHCSVParser | CVS文件解析 | ||
YLMoment | 日期的解析,格式化等,支持多语言 | ||
CMUnistrokeGestureRecognizer | 各种奇怪的手势检测 | ||
EKAlgorithms.git | 常见算法的ObjC实现,包括排序、查找、数组、字符串、常用数据结构.. |
框架/封装
three20 | 一个曾经用得广泛的庞大的iOS开发框架 已不再维护 | ||
nimbus | three20替代品 又一个庞大的框架 | ||
BeeFramework | 一个基于MVC的框架, 比较大.. | ||
OmniGroup | 一套很庞大的库(OmniGroup) 支持Mac和iOS 更新迅速 | ||
ReactiveCocoa | 一套响应式编程的框架(Functional Reactive Programming) 支持Mac | ||
WebViewJavascriptBridge | WebView和Cocoa之间的事件传递 | ||
OCUDL | 自定义literals 有点意思~~ | ||
Kiwi | 一个Behavior驱动编程框架? (BDD)? | ||
Mantle | 一个Model层, 替代CoreData 可以生成Model对象~ Github官方出品.. | ||
MagicalRecord | CoreData的包装 简化代码 | ||
fmdb | SQLite的封装 | ||
KZPropertyMapper | 一个Model的封装,类JSON | ||
BlockInjection | 为某个方法注入一个Block 类似AOP | ||
NSObject-ObjectMap | JSON和XML包装到Object | ||
Ejecta | 通过OpenGL OpenAL来实现 WebCanvas JS等,很庞大~ | ||
FCModel | 为SQL程序员包装一下CoreData |
功能/封装
iOS-System-Services | 获取各种设备信息 包括硬件、网络、内存、进程等等 | ||
MKStoreKit | iAP用的库 | ||
CargoBay | 一个包装iAP StoreKit的库 | ||
RMStore | 很轻量的iAP包装 | ||
QuincyKit | 处理crach信息的库 只有上架应用才能用 支持Mac | ||
OpenUDID | 系统UDID替代方案 | ||
UIDevice-with-UniqueIdentifier-for-iOS-5 | 另一个UUID解决方案 但iOS7不能用了 | ||
uidevice-extension | 一系列UIDevice的扩展 有PrivateAPI 最新的工程在cookbook-code里 | ||
InAppSettingsKit | 包装了设置、URLScheme、Mail、Icon等东西 | ||
DTWebArchive | 允许访问剪贴板中的WebArchive格式富文本 | ||
routable-ios | inApp的URL定义 在App内打开自定义URL (解耦) | ||
JLRoutes | 复杂的URL Scheme解析和路由 | ||
Emoji | 访问Emoji图片的功能 | ||
PDKeychainBindingsController | 以类似UserDefault的方式访问Keychain | ||
CoreTextWrapper | 一个CoreText库的包装 | ||
Slash | 对AttributeString的封装 | ||
iHasApp | 检测某个App是否安装,集成了常见的URL Scheme |
网络
基础
AFNetworking | 很棒的HTTP网络通信库 | ||
asi-http-request | 一个HTTP库 同样很知名 性能好,稳定 但已不再维护 | ||
MKNetworkKit | 一个HTTP库 支持Mac 同样也不错 | ||
STHTTPRequest | 一个非常简单的http库,包装了NSURLConnection | ||
RestKit | 一个HTTP库 用来与RESTful的服务进行交互 | ||
AFIncrementalStore | 用CoreData和AFNetworking 将HTTP数据持久化 | ||
CocoaAsyncSocket | TCP/UDP包装库 支持Mac 很棒 | ||
Reachability | 判断设备网络情况 和苹果的很像 用ARC、GCD | ||
SDReachability | 判断设备网络情况 和苹果的很像,更友好? | ||
socket.IO-objc | 支持HTTP 长轮询 socket.io | ||
DTBonjour | Bonjour和Wifi | ||
XMPPFramework | XMPP客户端的库~ 支持Mac | ||
CocoaHTTPServer | 一个轻量的HTTP Server 支持Mac | ||
SocketRocket | WebSocket客户端~ | ||
MailCore | IMAP SMTP邮件协议 |
JSON
JSONKit | 性能非常好 (只比Apple原生的差一点) | ||
json-framework | SBJson 曾经用得很广泛的JSON 性能差 | ||
TouchJSON | 又一个JSON库 | ||
yajl-objc | 一个JSON库 可以支持流解析 支持Mac | ||
JSONModel | 一个构建JSON Model的工具和库 |
XML/html
MWFeedParser | Feed/Atom解析 | ||
RSSKit | RSS Atom解析 | ||
ElementParser | 提供Html和XML的解析 | ||
hpple | 提供Html/XML解析 | ||
Objective-C-HMTL-Parser | 一个很简单的HTML解析 包装了下libxml | ||
RaptureXML | 一个简单的XML解析器 包装了libxml | ||
KissXML | 解析XML的库 包装了libxml | ||
TBXML | 快速解析xml的库 | ||
xmldocument | 又一个解析XML的库 | ||
XMLDictionary | 蛮好用的一个XML转NSDictionary的类~ | ||
XML-to-NSDictionary | XML转NSDictionary | ||
MMMarkdown | 一个渲染Markdown到HTML的小引擎 | ||
Ashton | 在NSAttrbuteString和Html之间转换 | ||
XMLParser | XML解析成json~ |
功能性
EGOImageLoading | 下载使用网络图片的库 | ||
SDWebImage | 异步加载网络图片 (UIImage Category) | ||
TCBlobDownload | 下载大文件/ 断点续传 | ||
GroundControl | 一个通过远程plist改变配置的库 | ||
appirater | 提醒用户稍后到AppStore给你评分的功能 | ||
iRate | 类似appirater 提醒用户稍后到AppStore评分 支持Mac | ||
ShareKit | 分享到国外的一些社交网站 的功能 用的的人挺多 | ||
Harpy | 新版本更新提醒 | ||
iVersion | 新版本更新提醒 功能提示 | ||
DataKit | 以类似CoreData的Model 来获取网络资源 | ||
SDURLCache | URL缓存 | ||
objective-git | libgit的包装 挺庞大 | ||
nsrails | RoR风格的网络交互API |
SDK
facebook-ios-sdk | Facebook的SDK | ||
MGTwitterEngine | 一套Twtter库 | ||
Twitter-OAuth-iPhone | Twitter的OAuth功能 | ||
Foursquare-API-v2 | Foursquare的库 | ||
objectiveflickr | Flicker API | ||
octokit.objc | Github的API | ||
ParcelKit | Dropbox封装CoreData | ||
cocoalibspotify | spotify官方SDK | ||
GDFileManagerKit | 访问 dropbox GDrive之类的云存储 |
音频
iOSSystemSoundsLibrary | 列出和播放iOS系统声音~ |
novocaine | 一个声音库 录音放音 页面上有CoreAudio的教程链接 |
TheAmazingAudioEngine | 一个声音库 包装了CoreAudio |
AudioStreamer | 音频流播放库 支持Mac |
SimpleAudioEngine | 一个简单的播放声音的库 |
DOUAudioStreamer | 豆瓣的音频流播放 |
audiograph | 一个AU的教程 & 示例工程~ |
NVDSP | 一个iOS上的DSP处理 |
Blip-Synth | 一个Blip声音合成器 |
PGMidi | 一个Midi库 |
sc_listener | 检测系统声音等级的库 |
ObjectAL-for-iPhone | 一个OpenAL的包装库 比较好用 |
SoundBankPlayer | 一个仿SoundFout的库 但更简单 |
Finch | 对底层的OpenAL包装 |
SoundManager | 很简单的Sound播放管理 |
OrigamiEngine | 音乐播放引擎 支持 flac, cue, mp3, m4a, m3u |
libpd | 一个用PD来创造音乐的库? 纯C |
pd-for-ios | 同libpd |
RCTMidiLib | 一个Pad连接Midi设备通信的包装 |
octave | 一个免费的音效库 包括48个UI音效 |
RBDMuteSwitch | 在iOS5上检测是否静音 |
sfArkLib | 转换sfArk和sf2的库 很简单 |
sfArkXTm | 简单解压sfArk的一个cpp |
unsfark | 和上面sfArkXTm一样,是老一点的纯C版本 |
MuseScore | 一个跨平台的音乐软件~ not iOS |
OpenSFZ | 一个SF2的处理库(Github上有详细说明) An Open SFZ player & SF2 based on SFZero |
alsaplayer | 一个Linux下PCM库 有sf2 midi等处理过程 |
游戏
cocos2d-iphone | 2D游戏引擎 (SpriteKit后来居上了..) |
cocos2d-iphone-extensions | cocos2d的扩展 |
smooth-drawing | cocos2d中画出平滑的曲线 |
tiny-wings | 仿TinyWings的Demo 用Cocos2D |
Tiny-Wings-Remake-on-Android | 如题. |
tweejump | 是小鸟就跳100层 Game |
wizardwar | 一个很完整的2D小游戏,支持对战,已在AppStore上架 |
Sparrow-Framework | 开源游戏引擎 2D 1.0版 |
Sparrow-Framework | 开源游戏引擎 2D 2.0版 |
图像
GPU OpenGL
GPUImage | 基于GPU的实时图像视频处理 | ||
XBImageFilters | 一个GPU实时处理的库 类似GPUImage | ||
CeedGL | 一个OpenGL的包装 用起来更方便 | ||
rend-ios | 一个OpenGL的轻量包装 接近UIKit | ||
GLView | 在UIView的包装 方便使用OpenGL | ||
sift-gpu-iphone | 一个包装GL用的,不知道干毛的 | ||
ShaderManager | 如题 一个Manager 管理创建Shader | ||
GLImageProcessing | 演示如何用GPU处理图片 | ||
FRD3DBarChart | 用OpenGL绘制的3D柱形图 | ||
EarthView | 显示3D地形图 用OpenGL | ||
CoreAR | 一个挺有意思的AR | ||
VRToolKit | 一个虚拟现实的库 |
图像处理
NYXImagesKit | 一套图像处理的库 加在UIImage上 | ||
ios-image-filters | UIImage扩展 类似PS的功能 用CoreImage | ||
vImageCategory | UIImage扩展 简单的一些处理 | ||
MGImageUtilities | 几个简单的图片处理 UIImage | ||
UIImageAdjust | 一些UIImage的扩展 如亮度 模糊等 | ||
CKImageAdditions | 一些UIImage的不错功能~ | ||
UIImage-BlurredFrame | 仅模糊图片中的一块区域~ | ||
LBBlurredImage | UIImage扩展 可以模糊 不知道性能如何 | ||
FilterKit | 为拍照添加滤镜 基于GPUImage | ||
TCam | 用CIFIlter实现的类似Instagram的类 | ||
CLImageEditor | 一个功能齐全的图像处理(滤镜/曲线/裁减/旋转/等等~) | ||
PKCoreTechniques | CA和CG的特性演示 | ||
UIImage-Categories | UIImage的一些扩展 | ||
uiimage-dsp | UIImage模糊的一些方法 | ||
UIImage-Sprite-Additions | UIImage取Sprite~ | ||
iOS-Scratch-n-See | 类似结冰玻璃用手画开的效果~ | ||
OBGradientView | 一个渐变色的CALayer 比系统的好用些 | ||
ANImageBitmapRep | 一些Bitmap处理的方法 | ||
KGNoise | 产生带噪音的Image 支持Mac | ||
KGNoiseColorTester | 上面KGNoise的演示 | ||
SQRiskCursor | 一个用CA和UIControl自定义控件的例子 | ||
AmazeKit | 据说是为PNG加速 或自己画 主要为控件提升性能的 | ||
UIImage-PDF | 如题 UIImage来显示PDF | ||
JMNoise | 给UIView添加Noise噪音的 | ||
SWSnapshotStackView | 图片加上Stack外框 | ||
RMShapedImageView | 一个UIImageView的子类 能忽略透明地方的点击 | ||
MOOMaskedIconView | 一个通过Mask显示Icon的库 只要一个Mask 可以生成很多风格的Icon 类似Tabbar | ||
FTAssetRenderer | 运行时的图像Mask生成? | ||
wolfpack | 图像处理库CI CG | ||
DSGraphicsKit | 支持图片常见处理 视图控制3D等 | ||
uiimage-from-animated-gif | 显示gif | ||
cam | 一个AVFoundation的封装、照相等功能 | ||
Filtrr | 几个Filter 速度也不行 | ||
ZXingObjC | ZXing 二维码/条形码处理 |
颜色
uicolor-utilities | UIColor扩展和色板 | ||
color | 一系列UIColor扩展 | ||
ColorUtils | 一个UIColor扩展 | ||
ColorConverter | RGB和HSL转换 | ||
InfColorPicker | 一个色彩选择器 | ||
RSColorPicker | 一个不错的色彩选择器 有放大镜 | ||
colorpicker | 一个很强大的ColorPicker 包装了挺多东西 | ||
ColorPicker | 功能很棒的一个取色 | ||
ILColorPicker | 一个还算标准的ColorPicker | ||
NPColorPicker | 一个HSV三角取色器 | ||
KZColorPicker | 又一个HSV圆盘取色器 | ||
Color-Picker-for-iOS | 一个简单的单色Picker 有一个滑块 | ||
LEColorPicker | 一个ColorPicker可以取到图片的主色调等 | ||
UIColor-converter | 一些UIColor的工具~~ | ||
SUColor | 提供2K多的日本色 | ||
Colours-for-iOS | 提供不少常用色 和几个方法 | ||
ColorArt | 类似iTunes的 取一幅图画的主要背景颜色等 (这是个Mac功能) | ||
iOS7Colors | iOS7的几种常用颜色 |
绘图库
iOSPlot | 画饼图/折线图的库 用CA | ||
PNChart | 扁平风格的折线图/柱形图 | ||
TEAChart | 扁平风格的饼图/柱形图 | ||
ios-linechart | 简单好用的饼图/折线图 | ||
JYRadarChart | 雷达图(螂蛛网图), 风格多样 | ||
Core-Animation-Pie-Chart | 用CA画饼图 示例 | ||
MSSimpleGauge | 扇形仪表盘 | ||
FBDigitalFont | LED液晶效果荧光字体,用CG实现 | ||
FBGlowLabel | L 以上是关于网上搜集第三方的主要内容,如果未能解决你的问题,请参考以下文章 ActionBar+DrawerLayout实现网易新闻客户端首页 ActionBar+DrawerLayout实现网易新闻客户端首页 |