2018-03-09-0.总结下使用的iOS三方框架

很多都是脑子里想到什么写什么,非攻略,回忆向

网络请求:

AFN,网络请求,用的都懂

布局:

1.masonry用的都懂
2.SDAutolayout 用过一个demo,基本原理是用frame布局,因为用masonry太熟了,这个后来就弃掉了
3.Myaotulayout iOS 8.0.9.0好像有点问题,作者大牛
4.UITableView+FDTemplateLayoutCell很好用,基本每个项目都用,table自适应高度,配masonry绝配

实时连接:

CocoaAsyncSocket:基于tcp/ip协议三次握手(说烂了都),挺好用的一个实时通讯框架,写过demo
SocketRocket:websocket框架,挺好用的,忘记是谷歌还是Facebook出的,项目中用过

数据转模型:

MJExternsion:李明杰出品,早期我的偶像,不过现在从商了,很好用,效率好像比matal高,他作品还有一个MJRefersh也很出名
YYModel:大神的出品,艺术一般的源码,我用过他的YYText富文本,写起来很舒服
JSONModel:早期用过,现在基本没看到什么人用

加载进度:

MBProgressHUD
SVG还是SVJ忘记了,这两个懒得讲,注意主线程调就行了

加密:

MD5:普通的加密,只是为了藏一下数据,变成不明文,因为不可逆,一般是把用户名,密码什么的加个密,让后台存起来,后台不存明文的账号密码,这种加密,必须暴露一下其他的数据,作为数据访问的格式很不好.
AES:对称加密,非ecb的其他模式都需要一个初始化向量,项目中用的是CBC,这个字符串要跟后台一致,然后加密的话传一个加密的key 和加密内容,这个key可以用其他方式再加密一次,比如rsa,后台需要拿到这个key对AES进行解密
RSA:非对称加密,一般后台会生成一个文件给你,安卓是pem,iOS 是cer?(好像是这两个后缀,有点忘了,我之前自己生成过)如果没有的话会给你个公钥,挺长的一个字符串,然后加解密用这个公钥就行,具体内容网上随便找找工具包即可

路由:

项目前期比较重要的需要搭起来的架构
DCURLRouter:用的是注册路由的方式,所有的页面跳转都是用string去跳转,不需要导入控制器,这样在分模块开发时很有好处,缺点是这个三方不提供回调,碧如我A->B,B操作完后想回传数据给A,因为解耦合,所以不能传,我修改了其源码,用硬编码的方式增加了一个代理回调,A,B依赖一个公共协议,去调用方法,这样虽然在依赖程度上增加了耦合,但是为了阅读性提高,还是好的(其实如果用硬编码,还是可以完全解耦合的,但是开发上就不是很便利了)
GMJRouter:用的也是注册路由,然后还进行实例!(如果没记错的话),给我的体验不是很好,就放弃了
CTMediator:casa大神,研究了也挺久,概念是发现服务,用的是硬编码(有点忘了),缺点是还是为了提高开发阅读性,给Mediator增加了许多分类,这个对于当时在研究的我的独立开发时,真的是挺耗时间的,所以还是放弃了.

后续一些好用的框架:
很棒的全局返回手势
pod 'FDFullscreenPopGesture', '1.1'
#facebook的pop动画
pod 'pop', '~> 1.0'
# Mac和iOS的异步套接字网络库
pod 'SocketRocket', '~> 0.5.1'
# 辅助快速搭建全局UI设计
pod 'QMUIKit', '~> 1.7.6'
# 轻量级布局框架,
pod 'Masonry', '~> 0.6.4'
# 网络请求封装
pod 'AFNetworking', '~> 2.6.3'
# 模板自动布局单元格和自动进行UITableViewCell高度计算
pod 'UITableView+FDTemplateLayoutCell', '~> 1.4'
# 腾讯Bugly,快速发现并解决异常,及时反馈
pod 'Bugly', '~> 2.4.8'
# 简单的面向面向编程的库
pod 'Aspects', '~> 1.4.1'
# 网络状态监听判断
pod 'Reachability', '~> 3.2'
# 转换速度快、使用简单方便的字典转模型框架
pod 'MJExtension', '3.0.10'
# 开屏广告、启动广告解决方案
pod 'XHLaunchAd', '~> 3.7.0'
# YYText 富文本方案
pod 'YYText', '~> 1.0.7'
# DZNEmptyDataSet空数据处理方案
pod 'DZNEmptyDataSet'
# 一行代码实现Badge效果(iOS),小红点效果
pod 'WZLBadge'
# 极光推送 写死这一版本 更新与2018-01-09
pod 'JPush', '3.0.7'
table动画,简单的一匹
TableViewAnimationKit
MMkeyboard
键盘工具,身份证,小数点,数字键盘都好用
WCAlert
一行alert工具
MBProgressHUD+MJ
MB优化代码调用
DHGuidePageHUD
引导页解决方案,好用
ZFPlayer
播放器强大
IJKMediaFramework
哔哩哔哩播放器,强大
SUIUtils
在QMUI前用的是这个,也挺不错的
RDPhone
络漫语音
QuPaiSDK
趣拍

注意,QMUI与FD手势有冲突,就是瞎玩左滑一点然后又返回的时候因为fd方法调用机制跟系统不一样,导致QMUI判断的bool值没有重置回来,导致阻止继续跳转,用了weak的界面还会崩溃,如果出现这问题的话可私聊我解决

没时间写了,后续有时间会继续更新!

你可能感兴趣的:(2018-03-09-0.总结下使用的iOS三方框架)