引言

作为iOS开发人员,在开发App的过程中怎么会不使用第三方库呢?相信没有App是不使用第三方库的!

网络库

网络库,这是开发必备,除非你的App玩单机。现在特别火也特别好用的网络库就数AFNetworking了。也有部分人喜欢自己用原生的NSURLConnection来做,当然是可以的,只是要写起来也困难,维护起来更困难。

猛点阅读基于AFNetworking封装

数据库

不是每个App都使用到数据库的,但是如果需要使用到数据库,我们还是需要使用第三方的。因为原来的CoreData真不好用。当前刚接触的时候,FMDB是特别火的,当然现在仍然有很多公司在使用,包括我们公司。

这里有一篇CSDN文章说得不错:http://blog.csdn.net/xyz_lmn/article/details/9312837

JSON与Model互转

从我开发公司的App以来,一直在寻找JSON与Model互转的第三方库,因为每次网络取回数据后再一个个解析取出来真的很麻烦很累。这里自然极力推荐的库就是MJExtension。

这个库简单易用,直接看一看文档就明白怎么用了:https://github.com/CoderMJLee/MJExtension

图片下载

现在很多公司所开发的App中使用了SDWebImage,但是个人觉得使用AFNetworking这套网络库就可以了,这套库已经提供了对图片的下载和高效缓存。如果喜欢使用SDWebImage,可查看一下源代码及使用文档:https://github.com/rs/SDWebImage

事实上,本人现在直接使用AFNetworking的图片下载及缓存功能,无须再添加一个三方库。

提示HUD

说到这个提示HUD,很多人都非常喜欢MBProgressHUD,其下载地址:https://github.com/jdg/MBProgressHUD

但是,本人不太喜欢它,因为使用起来很麻烦。本人更推荐的是SVProgressHUD,以单例形式存活,任何时候直接调用,而且我们需要调用的api都是类方法,直接调用即可。其下载地址为:https://github.com/TransitApp/SVProgressHUD

自动布局

对于开发是使用xib/storybard的同学可跳过。这里介绍的是纯代码的自动布局,原生的代码自动布局是相当困难的,写起来很麻烦而且也很难记住。因此,我们需要一个第三方库对原生的约束api封装成简单易用的接口给我们使用。

这里本人极力推荐Masonry,其下载地址为:https://github.com/SnapKit/Masonry

侧滑菜单

对于使用侧滑风格的app,可使用MMDrawerController这套库,几行代码就可以实现了。其下载地址为:https://github.com/mutualmobile/MMDrawerController

CoverFlow效果

我想最有名的CoverFlow效果的第三方库就是iCarousel了。其下载地址:https://github.com/nicklockwood/iCarousel

日志

开发App怎么能没有日志呢?没有日志,如何去查看记录?现在特别火的日志库是CocoaLumberjack,其下载地址:https://github.com/CocoaLumberjack/CocoaLumberjack

刷新

到目前为止,很多公司的App都采用了MJRefresh这个快速集成下拉刷新和上拉加载更多功能的库。这个库还支持自定义样式,因此可根据需求定制风格。其下载地址:https://github.com/CoderMJLee/MJRefresh

模糊效果

iOS7以后就有UIVisualEffect这个控件支持模糊效果。如果要支持iOS5.0以上版本,那就需要第三方库来支持了。支持静态、动态模糊效果,继承与UIView的模糊特效的FXBlurView就能满足我们的需求。其下载地址:https://github.com/nicklockwood/FXBlurView

富文本

文字视图开源组件,是UILabel的替代元件,可以简单的方式展现渲染的属性字符串。另外,还支持链接,不管是手动还是使用UIDataDetectorTypes自动把电话号码、事件、地址以及其他信息变成链接。其下载地址:https://github.com/mattt/TTTAttributedLabel

TabBarController

RDVTabBarController可以方便设置底部菜单的文字图片,点击效果,小红点提示等等,但是没有原生的UITabBar过渡效果,因此笔者不是很喜欢。其下载地址:https://github.com/robbdimitrov/RDVTabBarController

福利

最近看到这有一篇文章收集了很全的第三方库,上边所推荐都是本人所用。点这里看更多第三方库:http://www.52codes.net/article/465.html

ios开发必备第三方库的更多相关文章

  1. iOS开发常用第三方库

    UI 动画 网络相关 Model 其他 数据库 缓存处理 PDF 图像浏览及处理 摄像照相视频音频处理 响应式框架 消息相关 版本新API的Demo 代码安全与密码 测试及调试 AppleWatch ...

  2. iOS开发 引用第三方库出现duplicate symbol时的处理方法

      该篇文章是我自己从我的新浪博客上摘抄过来的, 原文链接为: http://blog.sina.com.cn/s/blog_dcc636350102wat5.html     在iOS开发中, 难免 ...

  3. iOS开发之第三方库的学习--hpple的使用

    前言:因为在开发中很可能会遇到html解析,如果后台提供的数据只有html数据,或者开发的app需要从web前端的html里获取数据,就需要html解析工具了. 关于HTML解析库,可以阅读:收集几个 ...

  4. iOS开发——导入第三方库引起的unknown type name 'NSString'

    今天加入SVProgressHUD的第三方库的时候报了24个错误( too many errors emitted, stopping now),都是 expected identifier or ' ...

  5. iOS开发-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...

  6. iOS开发中静态库之".framework静态库"的制作及使用篇

    iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...

  7. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

  8. ios 开发中 动态库 与静态库的区别

    使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...

  9. iOS开发之静态库(五)—— 图片、界面xib等资源文件封装到静态框架framework

    编译环境:Macbook Air + OS X 10.9.2 + XCode5.1 + iPhone5s(iOS7.0.3) 一.首先将资源文件打包成bundle 由于bundle是静态的,所以可以将 ...

随机推荐

  1. SQL GROUP BY 语句

    合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 ...

  2. The use of function Merge (update、insert、delete)

    1.The use of function merge(update.insert.delete) Example: #1.Initialize the data create table #test ...

  3. JQuery日历插件My97DatePicker日期范围限制

    My97DatePicker是一个非常优秀的日历插件,不仅支持多种调用模式,还支持日期范围限制. 常规的调用比较简单,如下所示: 1 <input class="Wdate" ...

  4. GO实例3 Slice append打印

    package main import "fmt" func main(){ ]int slice:=array[:] slice[]='a' slice[]='b' s1:=ap ...

  5. java中把字节数组转换为16进制字符串

    把字符串数组转换为16进制字符串 import java.security.MessageDigest; public class StringUtil { public StringUtil() { ...

  6. InputStream转为byte数组

    InputStream is = request.getSession().getServletContext().getResourceAsStream("/WEB-INF/swdjzbg ...

  7. JavaScript中String对象处理HTML标记中文本的方法

    big():创建一个<big></big>标记,将这个字符串的字体变大blink():创建一个<blink></blink>标记,使字符串具有闪烁效果b ...

  8. logstash 发送zabbix告警

    <pre name="code" class="html">[elk@dr-mysql01 test]$ cat t1.conf input { s ...

  9. MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE

    MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE So you want to mount your HFS+ ( ...

  10. Jtree (节点的渲染+资源管理器)

    我们的还是自定义的Jtree的类: package jtree.customNode; import java.io.File; import javax.swing.JTree; import ja ...