1.AFNetworking

  目前比较推荐的iOS网络请求组件,默认网络请求是异步,通过block回调的方式对返回数据进行处理。

2.FMDB

  对sqlite数据库操作进行了封装,demo也比较简单。

3.MBProgressHUD

  也是iOS项目常用的一个组件,用于显示过渡效果的,比如网络请求之前显示loading,网络结束隐藏loading。建议封装在BaseViewController中,所有ViewController继承就能使用。

4.MJRefresh

  这个是传智播客李明杰老师的作品,自己的oc基础就是看他的视频半个周末就基本拿下了。MJRefresh主要用于刷新操作,提供了常用的刷新操作,还有刷新动画,用着很好用。建议把方法封装在BaseViewController中,这样修改刷新操作时,就只需要改动一份。(之前用的旧版MJRefresh,只支持普通的刷新,不支持动画,后来更新后版本变化比较大,旧的方法已经不推荐使用了,所以还是封装基类中使用比较好,方便以后修改)

5.SDWebImage

  也是iOS最常用的一个组件,用户加载网络图片,可以缓存到本地。大概原理时,第一次加载后,会根据url加密作为文件名缓存在本地,如果再次加载图片时,就直接从本地加载。用着也比较简单。这里也分享遇到的一个问题,先从网络加载一张小图,然后小图作为占位图,再从网络加载一张大图。

6.RDVTabBarController

  一个TabBar组件,可以方便设置底部菜单的文字图片,点击效果,小红点提示等。

7.Toast

  类似android的toast提示效果,封装在BaseViewController中,需要的地方进行提示。

8.XMPPFramework

  iOS唯一的xmpp类库,作者在去年8月份添加了xep-0198协议支持(流管理,用于xmpp断线重连),但是通过pod进行更新时,无法下载到最新版本,可能0198还没有完善好,无法作为正式版。

9.TPKeyboardAvoiding

  用户键盘弹出自动计算高度,进行屏幕滚动操作。

10.AMR

  做即时通讯的音频处理,目前我们的即时通讯使用的录音文件是m4a,便于web端的音频播放。

11.TQRichTextView

  用于做富文本视图控件显示,用于即时通讯的表情显示,以及资源评论的富文本显示。

12.CSGrowingTextView

  用作即时通讯文本框和评论文本框使用,可以显示多行输入。

13.MJExtension

  也是李明杰老师的作品,用于json转model进行使用,有点类似于java中谷歌的Gson。转换效率据说也很高,使用也比较简单,只要前后台约定好,json直接就转成了model。一个工作多年的iOS朋友说,一个项目主要的是对model层的管理,他推荐的是Mantle。不过MJ这个更轻量级点,用着也更加简单。

用到的组件

1、通过CocoaPods安装

项目名称 项目信息
AFNetworking 网络请求组件
FMDB 本地数据库组件
SDWebImage 多个缩略图缓存组件
UICKeyChainStore 存放用户账号密码组件
Reachability 监测网络状态
DateTools 友好化时间
MBProgressHUD 一款提示框第三方库
MWPhotoBrowser 一款简单的 iOS 照片浏览控件
CTAssetsPickerController 一个选择器组件, 支持从用户的相片库选择多张照片和视频。
QBPopupMenu 无需使用图片文件的 iOS 弹出式菜单
UAAppReviewManager 一个能够让你方便地将提醒用户评分的功能加入 App 的工具
Mantle 主要用来将 JSON 数据模型化为 Model 对象
MTLFMDBAdapter Mantle 和 FMDB 的转换工具
FMDBMigrationManager 支持 iOS SQLite 数据库迁移
Bugsnag 集成 Bugsnag 到应用中
GVUserDefaults 对 NSUserDefaults 进行了封装, 方便的进行本地化存储操作
FCCurrentLocationGeocoder 对用户当前地理位置进行正向地址编码和反向地址编码
AFSwipeToHide 页面滚动时隐藏工具栏
BaiduTranslate 非官方百度翻译工具
JSBadgeView 添加带动画效果的未读消息数提醒
Masonry 一个轻量级的布局框架, 用于替换官方的 AutoLayout 写法
MMPlaceHolder 可在应用中显示视图的尺寸
TOWebViewController 可在应用中嵌套 Web 页面

2、第三方类库安装

项目名称 项目信息
MJRefresh 下拉刷新,上拉加载更多组件
VPImageCropper 用户上传头像组件
JCScrollView 快速给应用视图添加滚动分页效果
BWTitlePagerView 创建类似 Twitter 的导航栏分页效果
CNPPopupController 创建弹出卡片视图
FeSpinner 加入沙漏等多种动画加载效果
PulsingHalo 涟漪动画效果
JMHoledView 方便创建用户引导视图
RKNotificationHub 添加未读消息数显示提醒
CRToast 从应用状态栏弹出消息提醒
KeychainIDFA 获取 IDFA 标示当设备唯一识别, 并保存到 KeyChain 中
DZNEmptyDataSet 为 TableView 和 CollectionView 展示空数据视图
SwipeView 快速给应用添加上滑动视图
FXBlurView 对视图进行模糊操作
AreaPicker 省市地理位置选择器
MLAudioRecorder 边录边转码, 播放网络音频Button(本地缓存), 实时语音
MPTextView 支持占位符的 UITextView 子类扩展
MagicalRecord 帮助清除 CoreData 引用的代码, 协助 CoreData 工作
THProgressView 微型加载进度条
VPImageCropper 轻松实现微信选取图片并裁剪成头像的控件
WCAlertView 对官方 Alert View 进行封装, 更加容易使用

3、第三方服务

 

关于目前自己iOS项目使用的第三方开源库的更多相关文章

  1. iOS CocoaPods自动管理第三方开源库

    最近在开发中发现在项目中使用了好多第三方库,然而第三方更新的时候本地却不能及时更新.然而CocoaPods则可以管理第三方依赖包的更新,这些“体力活”会被节省好多时间,下面介绍一下CocoaPods的 ...

  2. iOS项目中常用的第三方开源库

    1.项目使用的第三方开源库 项目使用了CocoaPods(类似java中的maven)管理常用的第三方库,一些特殊的单独引用,下面介绍下比较好用的几个. (1)AFNetworking 目前比较推荐的 ...

  3. iOS项目开发常用功能静态库

    YHDeveloperTools iOS项目开发常用功能静态库 查看源码 功能方法: 1.字符检查 [NSString checkStringWithType:Email andTargetStrin ...

  4. 在 Ionic2 TypeScript 项目中导入第三方 JS 库

    原文发表于我的技术博客 本文分享了在Ionic2 TypeScript 项目中导入第三方 JS 库的方法,供参考. 原文发表于我的技术博客 1. Typings 的方式 因在 TypeScript 中 ...

  5. 如何在Ionic2项目中使用第三方JavaScript库

    onic的官网放出一记大招Ionic and Typings,来介绍如何在Ionic2项目中使用第三方JavaScript库. 因为在前阵子正好想用一个非常有名的第三方JS库ChartJs来实现一些东 ...

  6. 粉笔网iPhone端使用的第三方开源库

    粉笔网iPhone端使用的第三方开源库 前言 最近有朋友问我粉笔网 iPhone 端使用了哪些第三方的开源库.我在这儿整理了一下,分享给大家. ASIHttpRequest ASIHttpReques ...

  7. CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  8. (转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  9. 第三方开源库和jar包的区别

    jar包和第三方开源库的根本区别在于,开源库的功能比jar包功能更强大,通过引入库项目可以访问java文件以及该开源库项目下的资源文件,例如图片,layout等文件 jar包中只能放class文件 引 ...

随机推荐

  1. DedeCMS首页调用缩略图为背景

    配合{dede:arclist}{/dede:arclist}标签使用,既可以实现把缩略图作为背景,另外还需要用到background-position这个标签,做好背景的定位. http://www ...

  2. Mac下Charles Contents乱码解决办法

    用到Charles,下载最新的4.0.1版本,但是发生乱码问题.百度好久才找到个靠谱的,那些说什么在Info.plist文件加字符串的,都是假的,反正我是试了都没用,这里记下详细的操作步骤解决: 1. ...

  3. Linux日志轮循实现(shell)

    在Linux系统中,日志的使用非常频繁,那么对日志就需要一定策略的管理,包括存放目录的设计,log文件命名规则,历史log文件的存放,log目录的容量限制,另外还有日志轮循. 日志轮循就是,将过期的l ...

  4. AF_INET 和PF_INET区别;AF_LOCAL PF_LOCAL 区别.

    从字面理解: AF_INET = Address Format, Internet = IP Addresses PF_INET = Packet Format, Internet = IP, TCP ...

  5. python3 第七章 - 循环语句

    为了让计算机能计算成千上万次的重复运算,我们就需要循环语句. Python中的循环语句有 while for 循环语句的执行过程,如下图: while 循环 Python中while语句的一般形式: ...

  6. JS中数组的常用方法

    首先,在开始前我们先了解一下什么是数组. 1.什么是数组? 数组就是一组数据的集合,其表现形式就是内存中的一段连续的内存地址,数组名称其实就是连续内存地址的首地址.说白了它就是将一堆数据按照一定的顺序 ...

  7. 获取android手机屏幕的宽高、density

    public static String getDisplayMetrics(Context cx) { String str = ""; DisplayMetrics dm = ...

  8. 00_HTML入门第二天

    PS切图 快捷键操作无效,原因是没有切换到英文输入状态 常用快捷键新建 CTRL+N       打开 CTRL+O关闭 CTRL+W保存 CTRL+S 另存为 CTRL+SHIFT+S       ...

  9. 【转】GPS基线解算模式

    GPS基线向量是利用2台或2台以上GPS接 收机所采集的同步观测数据形成的差分观测值,通过参数估计得方法所计算出的两两接收机间的三维坐标差.与常规地面测量中所测定的基线边长不同,基线向量是 既具有长度 ...

  10. 面试中的DNS

    DNS 当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称.客户机发送的每条查询信息包括三条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别. DNS基于UDP服务,端 ...