1. CocoaPods
是不是已经厌烦了将各种库拖拽到Xcode项目中?那么,CocoaPods的出现就帮你解决了这一问题。CocoaPods是Objective-C项目中最有名的类库管理工具,可以解决库与库之间的依赖关系,下载库的源码,供我们开发使用。最重要的是,大多的开源类库都支持它。所以,有了CocoaPods,你就可以很轻松地对项目进行扩展。
2. Crashlytics
Crashlytics是一款用于检测你开发的应用,何时在客户端设备上崩溃,并能找出其崩溃原因以及帮助开发者修复应用的工具。Crashlytics既免费又方便使用,另外,还内置一些基础的分析功能,让你无需总要依赖其他独立的分析工具。
3. AFNetworking/Alamofire
AFNetworking和之前文章中提到的Alamofire一样,是一个网络库,不同的是,Alamofire是用于Swift中,而AFNetworking则是为Objective-C准备的。AFNetworking是建立在Foundation URL Loading System之上,拥有一个精心设计的模块化架构,以及功能丰富的API,使用起来很是方便。
4. Google Analytics、Mixpanel、Localytics
通常情况下,当需要分析用户使用应用的各方面数据时,会在Google Analytics、Mixpanel和Localytics之间权衡。Google Analytics可以用来跟踪和统计应用程序,如访问数、停留时间、跳出率等;Mixpanel则是为大家提供公式化和分类类报告,从而给出详细的数据分析;而Localytics提供的是实时地分析服务,帮助开发者更好的理解用户。至于选择哪一个,可以根据自己的需求来判定。
5. Urban Airship
当需要向应用中添加推送通知时,Urban Airship会是一个不错的选择,不过这个是在它还是免费的时候。所以,当你是在为自己或是小的客户端构建应用时,你可以使用Parse和Mixpanel来取代Urban Airship。不过如果是为那些有能力出钱的大客户开发应用的话,Urban Airship还是首选。
6. New Relic
New Relic的移动应用监控能够很好地跟踪应用的性能问题,而无需等到应用崩溃后,再去检查问题的来源。让用户从多角度、实时地发现应用的错误,并对此进行处理。
7. ZBar
ZBar是一个开源的软件套件,实现了识别和读取来自各种资源的条形码,比如视频流、图像文件等。它支持众多主流的条码,其中包括EAN-13/UPC-A、UPC-E、EAN-8、Code 128、Code 39、Interleaved 2 of 5和QR Code。
8. Core Plot
Core Plot是一个开源的2D绘图框架,具有高度可定制性,和Apple的技术紧密的整合,比如 Core Animation、Core Data 和 Cocoa Bindings。 可以绘制柱状图、折线图、饼图等多种图形,提供Mac OS X和iOS下的组件库,基本可以满足你大部分的绘图需求。
Kits
RegexKit
RegexKit是一个正则表达式工具类。
JSONKit
JSONKit是一个比较高效的JSON解析库(又说是“号称效率最高的JSON解析器”)。唐巧之前比较过各大JSON解析库的性能文章在此。
ProgressHUD
MBProgressHUD
MBProgressHUD是一个用于显示灰色的加载进度或结果的类。与系统自带的UIAlertView相比,MBProgressHUD由于背影是黑色的,所以视觉上不是那么强烈。我们主要用它来显示一些加载中的提示,以及一些自已会消失的操作结果(例如网络失败等)。功能强大但有些“重”。
SVProgressHUD
ProgressHUD
ProgressHUD is a lightweight and easy-to-use HUD. 非常好用。
加载与刷新
EGOTableViewPullRefresh
EGOTableViewPullRefresh一个开源的下拉刷新组件;这个使用起来比较麻烦,需要实现其各种协议。
LoadMoreTableFooterView
LoadMoreTableFooterView一个开源的上拉加载更多的组件。跟EGOTableViewPullRefresh有点渊源。
SVPullToRefresh
SVPullToRefresh同时兼有“下拉刷新”和“下拉更多”功能,相对于EGOTableViewPullRefresh更好用,更直观,我更喜欢。
图像
SDWebImage
SDWebImage异步图片加载、缓存,功能强大。
引导页
EAIntroView
EAIntroView可高度自定义的引导页。
MYBlurIntroductionView
MYBlurIntroductionView, A super-charged version of MYIntroductionView for building custom app introductions and tutorials.
GHWalkThrough
GHWalkThrough, A UICollectionView backed drop-in component for introduction views.
ICETutorial
ICETutorial,仿照Path 3.x引导页。
Views
MTStatusBarOverlay
MTStatusBarOverlay是一个在iphone的顶部status bar显示消息的开源库。
ActionSheetPicker-3.0
ActionSheetPicker-3.0,相当于UIPickerView + UIActionSheet,是一个非常棒的选择器。
JVFloatLabeledTextField
JVFloatLabeledTextField,提供了非常优雅的TextField输入体验。
SSBouncyButton
SSBouncyButton,iOS7+风格的弹性button。
JSQMessagesViewController
JSQMessagesViewController,即时通讯对话框,看起来非常棒。
TSMessages
TSMessages,顶部消息框。
NZAlertView
NZAlertView,漂亮的消息框。
MGSwipeTableCell
MGSwipeTableCell,可滑动的TableViewCell。
TGCameraViewController
TGCameraViewController,轻量级camera view controller。
ParallaxTableViewHeader
ParallaxTableViewHeader,table view header滚动中的酷炫效果。
Others
Reachability
Reachability网络连通测试组件。
用到的组件
1、通过CocoaPods安装
项目名称 | 项目信息 |
网络请求组件 | |
本地数据库组件 | |
多个缩略图缓存组件 | |
存放用户账号密码组件 | |
监测网络状态 | |
友好化时间 | |
一款提示框第三方库 | |
一款简单的 iOS 照片浏览控件 | |
一个选择器组件, 支持从用户的相片库选择多张照片和视频。 | |
无需使用图片文件的 iOS 弹出式菜单 | |
一个能够让你方便地将提醒用户评分的功能加入 App 的工具 | |
主要用来将 JSON 数据模型化为 Model 对象 | |
Mantle 和 FMDB 的转换工具 | |
支持 iOS SQLite 数据库迁移 | |
集成 Bugsnag 到应用中 | |
对 NSUserDefaults 进行了封装, 方便的进行本地化存储操作 | |
对用户当前地理位置进行正向地址编码和反向地址编码 | |
页面滚动时隐藏工具栏 | |
非官方百度翻译工具 | |
添加带动画效果的未读消息数提醒 | |
一个轻量级的布局框架, 用于替换官方的 AutoLayout 写法 | |
可在应用中显示视图的尺寸 | |
可在应用中嵌套 Web 页面 |
2、第三方类库安装
项目名称 | 项目信息 |
下拉刷新,上拉加载更多组件 | |
用户上传头像组件 | |
快速给应用视图添加滚动分页效果 | |
创建类似 Twitter 的导航栏分页效果 | |
创建弹出卡片视图 | |
加入沙漏等多种动画加载效果 | |
涟漪动画效果 | |
方便创建用户引导视图 | |
添加未读消息数显示提醒 | |
从应用状态栏弹出消息提醒 | |
获取 IDFA 标示当设备唯一识别, 并保存到 KeyChain 中 | |
为 TableView 和 CollectionView 展示空数据视图 | |
快速给应用添加上滑动视图 | |
对视图进行模糊操作 | |
省市地理位置选择器 | |
边录边转码, 播放网络音频Button(本地缓存), 实时语音 | |
支持占位符的 UITextView 子类扩展 | |
帮助清除 CoreData 引用的代码, 协助 CoreData 工作 | |
微型加载进度条 | |
轻松实现微信选取图片并裁剪成头像的控件 | |
对官方 Alert View 进行封装, 更加容易使用 |
3、第三方服务