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

iOS开发常用基础框架(你了解的ios只是冰山一角)

2016-02-22 21:11 477 查看
框架名称及功能

Foundation

提供OC的基础类(像NSObject)、基本数据类型等

UIKit

创建和管理应用程序的用户界面

QuartzCore

提供动画特效以及通过硬件进行渲染的能力

CoreGraphics

提供2D绘制的基于C的API

SystemConfiguration

检测当前网络是否可用和硬件设备状态

AVFoundation

提供音频录制和回放的底层API,同时也负责管理音频硬件

CFNetwork

访问和配置网络,像HTTP、FTP和Bonjour Services

CoreFoundation

提供抽象的常用数据类型,如Unicode strings、XML、URL等

CoreLocation

使用GPS和WIFI获取位置信息

GameKit

为游戏提供网络功能:点对点互联和游戏中的语音交流

AddressBook

提供访问用户联系人信息的功能

AddressBookUI

提供一个用户界面,用于显示存储在地址簿中的联系人信息

AudioToolBox

提供音频录制和回放的底层API,同时也负责管理音频硬件

AudioUnit

提供一个接口,让我们的应用程序可以对音频进行处理

MapKit

为应用程序提供内嵌地图的接口

MediaPlayer

提供播放视频和音频的功能

MessageUI

提供视图控制接口用以处理E-mail和短信

OpenGLES

提供动画特效以及通过硬件进行渲染的能力

StoreKit

为应用程序提供在程序运行中消费的支持

常用的第三方开源框架:

网易新闻
AppleReachability
ASIHTTPRequest
EGOTableViewPullRefresh
GTMNSString+HTML
MGTemplateEn
1cf05
gine
MPOAuth
RegexKitLite
SDWebImage
SSZipArchive
wax Garageband MurmurHash
libpng
zlib
SBJson (json-framework) iWork三套件 MOKit
Boost C++ Library
protobuf
OpenGL Mathematics
SQLite
cephes math library Pinterest AFNetworking
AFHttpClientLogger
Facebook SDK
iRate
MAKVONotificationCenter
SDWebImage
SFHFKeychainUtils
SSPullToRefresh
SVProgressHUD
TTTAttributedLabel
TTTLocalizedPluralString
多看阅读
fmdb
ASIHTTPRequest
FreeType
JSONKit
Objective-Zip
Skia (Google)
MBProgressHUD
淘宝
MAZeroingWeakRef
MBProgressHUD
ABContactHelper
ASIHTTPRequest
CocoaLumberjack
EGOTableViewPullRefresh
fmdb
GTMBase64
JSONKit
SBJson (json-framework)
RTLabel
SDWebImage
SVPullToRefresh
three20
微信
cocos2d
EGOTableViewPullRefresh
Facebook iOS SDK
JSONKit
SBJson
ziparchive QQ ASIHTTPRequest FMDB CocoaAsyncSocket JSONKit MBProgressHUD OpenUDID SBJson SVPullToRefresh
百度地图
AFNetworking
GTMBase64
JSONKit
MBProgressHUD
RNCachingURLProtocol
SDWebImage
微博
ABContactHelper
AFNetworking
ASIHTTPRequest
DACircularProgressView
DDProgressView
DTFoundation
fmdb
JSONKit
SBJson
MBProgressHUD
MTStatusBarOverlay
OpenUDID
SFHFKeychainUtils
人人 cocoaasyncsocket
ZipArchive
MBProgressHUD
JSONKit
GTMBase64
MKNetworkKit
HPGrowingTextView
zxing
可以看到,这些大型的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 LED液晶效果荧光字体,UILabel
ADGraphView
一个CG绘画库
股票曲线演示
SVGKit
一个用CA来呈现SVG图片的库
Smooth-Line-View
用QuartZ画出平滑的曲线
Smooth-Line-View
用上面的库搭建的比较完整的画板功能 有取色器等
SignatureDemo
一个QuartZ 触摸画平滑曲线的Demo~~~
DynamicGraphView
动态折线图
XYPieChart
饼图~有动画
Animated-Paths
动画画出文字和图形的轮廓~ 动画/效果 CA
CA360
一套完整的CA动画Demo
Core-Animation-Fun-House
一套CA动画展示Demo
Core-Animation-Demos
一套CA动画Demo
EnterTheMatrix CA动画演示Demo
ftutils
一套CA的Util库
有一些常用动画
Dazzle
用CA实现的各种有趣的粒子效果
AGGeometryKit CA和3D效果等
RBBAnimation
基于block的CA动画
动画曲线
NSBKeyframeAnimation
那些jQuery带的动画速率曲线
CAAnimation-EasingEquations
一些CA没有的动画曲线
UIView-EasingFunctions UIView的动画曲线~~
PhysicsAnimation
物理动画,用Chipmunk实现的重力效果等
DPMeterView
有重力感应的2D图形动画(例如瓶子的水)
貌似挺有意思~~
Parallax iOS7的景深背景动画效果
一般..
MTAnimation
25种动画曲线~
........................................................................
--------------------------------------------------------------------------------------------------------------------------------------------
(你了解的ios只是冰山一角)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息