美文网首页实用轮子OC-框架三方
代号-600,项目中用到的所有第三方库总结

代号-600,项目中用到的所有第三方库总结

作者: 华之曦 | 来源:发表于2016-08-31 19:10 被阅读926次

    主要来记录最近做的项目当中所有用到的第三方库,对用到的轮子进行总结和归纳。

    目前开发项目中,以已为例,不再像之前那样把所有的第三方库下到本地,再导入工程中,然后就是苦逼的开始往Linked Frameworks and Libriaries中添加各种不懂的文件,能捣鼓半天,自我感觉牛逼,实则是傻X的。
    然则CocoaPods解决了这些繁琐的问题,所以开发项目用就行,不逻辑那么多了。

    先来一个总览

    CocoaPods管理 本地导入的三方库
    AFNetworking Areapicker
    HMQRCodeScanner GBTagListView
    HMSegmentedControl KxMenu
    IQKeyboardManager PlaceholderTextView
    JKCountDownButton UIViewController+ImagePicker
    FDStackView XLPasswordView
    MD5Digest ZZPhotoKit
    MJExtension
    MJRefresh
    PPNetworkHelper
    RatingBar
    SDAutoLayout
    SDCycleScrollView
    SDWebImage
    SVProgressHUD
    UITextView+Placeholder
    WZLBadge

    1.通过CocoaPods管理的第三方库

    简单脑补一下podfile语法:

    source 'URL' : 指定镜像仓库的源
    platform : ios,  '6.0'  : 指定所支持系统和最低版本
    target 'YOUR_TARGET' do : 允许你在工程中限定依赖项只在你指定的targets中生效
    pod  '库名', ''   :   引入库,什么版本都可以(一般就是最新版本了)
    

    Podfile语法规范 , Podfile 的用法见文档

    AFNetworking

    gitHub地址

    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    
    target 'TargetName' do
    pod 'AFNetworking', '~> 3.0'
    end
    
    • 自不必过多解释,iOS开发几乎都离不开的吧。
    • 正常情况下,开发之前都会对其进行二次封装,例如:有些需要对Post的参数进行简单的BASE64转换,虽然简单不至于信息直接暴露于外。

    BASE64简单加密方法:

    NSData * jsonData = [NSJSONSerialization dataWithJSONObject:加密内容 options:NSJSONWritingPrettyPrinted error:nil];
    // Get NSString from NSData object in Base64
    NSString *base64Encoded = [jsonData base64EncodedStringWithOptions:0];
    

    HMQRCodeScanner

    gitHub地址

    UI界面的轻量级二维码扫描及生成框架,包含Objective-C和Swift

    platform :ios, '8.0'
    use_frameworks!
    
    pod 'HMQRCodeScanner'
    
    • 提供一个导航控制器,扫描 二维码 / 条形码
    • 能够生成指定 字符串 + avatar(可选) 的二维码名片
    • 能够识别相册图片中的二维码(iOS 64 位设备)

    效果图;

    HMSegmentedControl

    gitHub地址

    pod 'HMSegmentedControl'
    
    • 支持文字和图片两种显示方式
    • 支持水平滚动
    • 支持字体颜色,字距,阴影等文本属性
    • 选择条可以在文字上面和下面两种方式
    • 支持block回调
    • 支持ARC,iOS >= 7

    效果图:


    IQKeyboardManager

    gitHub地址

    键盘收缩自适应,方便快捷全局设置。

    pod 'IQKeyboardManager'
    
    • 只要能滚动的视图,各种适应,告别繁琐的计算,谁用谁知道

    JKCountDownButton

    gitHub地址

    子类化UIButton实现iOS倒计时按钮,常常用于注册等发送验证码的时候进行倒计时操作

    platform :ios
    pod 'JKCountDownButton'
    
    • 使用比较方便,需要自己进行相关的调整,来适应项目需求

    FDStackView

    gitHub地址

    能够在iOS6以上使用UIStackView,使用xib拖拉拽,forkingdog出品,很是方便。

    platform :ios, '7.0'
    pod "FDStackView", "1.0"
    
    • 支持纯代码使用FDStackView以及使用xib。
    • 最低支付Xcode 7+

    MD5Digest

    gitHub地址

    对Post的参数进行MD5加密,加密结果不可逆,并且有较高的抗碰撞特性。

    pod 'MD5Digest'
    
    • 配合后台开发人员对请求数据进行加密,形成密文
    • 项目中的加密方式:Base64_encode(md5(md5($action).md5($key)))
    • 先对方法MD5加密,再加盐,拼接后再对密文MD5加密,最后再转成Base64密文。
    • 详情见 简书作者 圆脸黑猫警长 iOS Base64、凯撒加密 ,MD5加密(16、32位)
    • 注:项目中后台要求用的是64位,所以代码中CC_MD5_DIGEST_LENGTH改成CC_MD5_BLOCK_BYTES

    MJExtension

    gitHub地址

    转换速度快、使用简单方便的字典转模型框架

    pod 'MJExtension'
    
    • 字典和模型之间互相转换的超轻量级框架
    • 只需要一行代码,就能实现模型的所有属性进行Coding(归档和解档)
    • 能够和其相比的就YYModel

    MJRefresh

    gitHub地址

    十分强大的下拉刷新和卡拉加载的框架,明杰出品实属精品。

    pod 'MJRefresh'
    
    • 支持各种自定义效果
    • 具体效果gitHub地址上看了。

    PPNetworkHelper

    gitHub地址

    对AFNetworking 3.x 与YYCache的二次封装,存取超简单,告别FMDB!

    pod 'PPNetworkHelper'
    
    • 封装常见的GET、POST、文件上传/下载
    • 网络状态监测的功能、方法接口简洁明了
    • 结合YYCache实现对网络数据的缓存

    RatingBar

    gitHub地址

    pod RatingBar, '~>0.0.1'
    
    • 实现简单的星星评分功能

    SDAutoLayout

    gitHub地址

    一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应。

    pod 'SDAutoLayout', '~> 2.1.3'
    
    • 碰见一些内容自增长的效果用这个库就对了,不算太麻烦。
    • 作者有用这个库实现类似微信的效果,很赞。

    SDCycleScrollView

    gitHub地址

    无限循环图片、文字轮播器。

    pod 'SDCycleScrollView','~> 1.64'
    
    • 常用在顶部和商品详情的轮播图
    • 支持图片下面各个图片的文字显示

    效果图:


    SDWebImage

    gitHub地址

    网络图片加载

    platform :ios, '7.0'
    pod 'SDWebImage', '~>3.8'
    
    • 开发必备,不多解释

    SVProgressHUD

    gitHub地址

    HUD提示器,下载,登录,显示成功或者失败的提示信息。

    pod 'SVProgressHUD'
    
    • 使用的时候就再封装一层,白色和黑色的背景自己选择,主要显示停留时间是5秒,自定义下吧。

    效果图:

    2.本地导入的第三方库

    Areapicker

    地区选择器,动态联动,网络获取地址。

    效果图:

    GBTagListView

    流式标签添加点击事件,支持block回调统计当前选择的标签。

    gitHub地址

    效果图:

    ZZPhotoKit

    基于Photos和AVFoundation框架开源,相册多选与相机连拍。

    github

    • 相册多选基于最新的 Photos 框架
    • 相机连续拍摄基于AVFundation 框架。
    • 图片浏览器支持 SDWebImage 加载图片

    效果图:

    总结

    • 以上内容大部分为网络获取,如有错误的地方,即刻更改。

    相关文章

      网友评论

        本文标题:代号-600,项目中用到的所有第三方库总结

        本文链接:https://www.haomeiwen.com/subject/nbctettx.html