swift 常用的第三方库

做开发的都知道,不要重复的造轮子,要提高工作效率,轮子好多人都已经造好了,好用,bug又少,本篇文章就是要整理好用的第三方库,希望可以帮助大家,帮助自己,慢慢更新中, 如果有好用的库,请在评论去留言,慢慢添加

网络请求框架,APP必引用的库
地址:https://github.com/Alamofire/Alamofire
其他解析:https://www.jianshu.com/p/4381fe8e10b6

  • Kingfisher

异步加载图片

  • SnapKit

约束相当于 objective-c 的 Mansory

  • IQKeyboardManagerSwift

键盘出现或小时候,UI变化

  • KakaJSON

模型数据解析,iOS大神MJ作品

  • SwiftyJSON

模型数据解析,GitHub高星精品

HandyJSON是一个用于Swift语言中的JSON序列化/反序列化库。 必用

https://github.com/alibaba/HandyJSON
Deserialization 👇🏻

class BasicTypes: HandyJSON {
    var int: Int = 2
    var doubleOptional: Double?
    var stringImplicitlyUnwrapped: String!

    required init() {}
}

let jsonString = "{\"doubleOptional\":1.1,\"stringImplicitlyUnwrapped\":\"hello\",\"int\":1}"
if let object = BasicTypes.deserialize(from: jsonString) {
    print(object.int)
    print(object.doubleOptional!)
    print(object.stringImplicitlyUnwrapped)
}

Serialization 👇🏻

let object = BasicTypes()
object.int = 1
object.doubleOptional = 1.1
object.stringImplicitlyUnwrapped = “hello"

print(object.toJSON()!) // serialize to dictionary
print(object.toJSONString()!) // serialize to JSON string
print(object.toJSONString(prettyPrint: true)!) // serialize to pretty JSON string

  • ObjectMapper

json 转model, model转json

https://github.com/tristanhimmelman/ObjectMapper

let user = User(JSONString: JSONString)

let JSONString = user.toJSONString(prettyPrint: true)
  • refresher

refresher- 简洁清爽的下拉刷新

  • TZImagePickerController

照片选择器

  • SwiftyStoreKit

内购

  • SKPhotoBrowser

图片浏览器

  • JXSegmentedView

一个轻量级、配置丰富、灵活扩展的分段控制器 tab 标签

  • FSPagerView

图片轮播图
https://github.com/WenchaoD/FSPagerView

是Swift函数响应式编程的一个开源库,由Github的ReactiveX组织开发、维护
其他语言像C#, Java 和 JS 也有,Rx.Net、RxJava、rxjs
RxSwift的目的是让数据/事件流和异步任务能够更方便的序列化处理,能够使用Swift进行响应式编程

  • SwifterSwift (效率神器)

swift 常用扩展

以链接的方式打开controller,Router路由

地址: https://github.com/devxoul/URLNavigator
示例👇🏻

Navigator.push("myapp://user/123")
Navigator.present("myapp://post/54321", wrap: UINavigationController.self)
Navigator.open("myapp://alert?title=Hello&message=World")

其他解析:https://blog.csdn.net/jancywen/article/details/105110685
https://www.jianshu.com/p/3bbabe0e93b0

  • RealmSwift

存储数据 - 数据库

  • MMKV

存储数据 ,使用方法 类似userDefault

  • SVGAPlayer

svga 动画播放,类似 抖音 直播 发礼物的效果 火箭🚀效果

  • WKWebViewJavascriptBridge

WKWebView 和 js 之间的交互

  • QMUIKit

objective -c 的, 常用的UI封装

  • Bugly

腾讯 崩溃检测

  • 短信验证码

使用mob_smssdk发送验证码, 宣称永久免费、没有使用限制,感觉挺好用,反正不花钱。唯一吐槽的时短信内容有官方名字,个人用户自定义模板又几乎不可能。如果用户量大了就别用了,花点钱搞个正式的。

  • 关于一些icon切图

前提若没有美工,没有设计,去哪里搞好看的图片?直接想到的就是解压别人的IPA获取一些资源(太明显了也不好看)。我使用的是阿里巴巴矢量图标库http://www.iconfont.cn,这里资源很丰富,一些基础的图标可以拿来直接使用。

iOS 开发记录

参考链接:https://www.jianshu.com/p/4ae8429c6d88


这里的框架都是纯swift的 , 感谢开源 ,感谢大神们 。

json解析

SwiftyJSON json解析之王

下拉刷新

BreakOutToRefresh 一个下拉刷新打砖块的swift库

SDRefreshView 简单易用的上拉和下拉刷新

ZLSwiftRefresh- 下拉刷新/上拉加载更多,支持自定义动画,集成简单

GearRefreshControl- 一个非常精细的下拉刷新 做的很细心

refresher- 简洁清爽的下拉刷新

PullToBounce- 弹性动画 非常炫酷的下拉刷新

RCTRefreshControl qq的橡皮糖下拉刷新

PullToRefresh 刷新动画可定制的下拉数据请求更新组件

MLSwiftBasic 集合自定义导航栏、下拉刷新/上拉加载更多、视觉效果、好用分类等等一系列,却耦合性很低的Swift库!

图片选择、浏览 ( 这部分 swift 库真少呀 欢迎知道的补充 )

PhotoBrowser-swift 图片浏览

PhotoPicker swift图片选择

BSImagePicker 这个图片选择 不错,oc和swift都有 真贴心呀

KYElegantPhotoGallery - 一个优雅的图片浏览库(可惜OC写的呀。。。。)

CocoaPicker - 仿 QQ 图片选择器(非swift-_-)。

网络部分

Alamofire 著名的 AFNetworking 络基础库 Swift 语言版

AlamofireImage 基于 Alamofire 的网络图片组件库

NetReachability 检查网络连接的连通性

Ji Swift 版 HTML/XML 解析器

CoreStore 提供高可读性,一致性及安全性的 Core Data 管理类库

SwiftyJSON GitHub 上最为开发者认可的 JSON 解析类

图片

Kingfisher onevcat 大神开发的处理网络图片及缓存的库

ImageScout 最小网络代价获得图片大小及类型

Nuke 完整、强大、实用的图片管理类库

HanekeSwift 轻量带缓存高性能图片加载组件

界面效果 动画等

awesome-ios-animation 收集了iOS平台下比较主流炫酷的几款动画框架(这上面有很多,孙然不是全部用swift写的。但是还是可以鉴赏下)

LiquidFloatingActionButton 可定制水滴型浮动动态按钮组件及演示

PNChart-Swift 带动画效果的图表控件库

HamburgerButton - Menu/Close 无论设计还是代码,都进行了精雕细琢

HamburgerButton - Check Hamburger 风格按钮动画图标(单选)组件

entotsu/TKSubmitTransition 登录加载、返回按钮转场动画组件

SweetAlert-iOS 带动画效果弹窗封装类

Dodo 一款轻量地可定制信息栏小组件

AnimatedTabBar 灵动的动画tabbar

KYCircularProgress 简单、实用路径可定进程条

ParkedTextField 带固定文本的输入组件

optonaut/ActiveLabel.swift 扩展实现 UILabel 触控事件针对 “#, @, 链接” 响应

GMStepper 带动画效果、支持手势滑动操作的步进标签

KSTokenView 带搜索、快捷输入、分段显示关键词输入组件

QRCodeReader QR 二维码阅读组件及示例

EasyTipView 弹出提示框类及演示示例

Popover 泡泡风格弹出视图封装类库

TimingFunctionEditor - TimingFunctionEditor用swift编写, 贝塞尔曲线编辑器,编辑后可以预览或拷贝代码片段直接使用。P.S. 该项目采用更简单的依赖管理器Carthage,而非常用的 CocoaPods。Carthage介绍中文

AAFaceDetection - AAFaceDetection--swift,简单、实用的面部识别封装库。虽然该技术从 iOS 5 发展,不过真正有趣的应用还不多。。

Concorde - swift, Concorde, 一个可用于下载和解码渐进式 JPEG 的库, 可用来改善应用的用户体验。

ZoomTransition - swift, 通过手势操控图片的放大、缩小、旋转等自由变化效果的组件及示例。

AFImageHelper - swift,一套针对 UIImage 和 UIImageView 的实用扩展库,功能包含填色和渐变、裁剪、缩放以及具有缓存机制的在线图片获取

PinterestSwift - swift,Pinterest 风格图片缩放、切换示例。

NVActivityIndicatorView 等待指示器 真心多。-_-

约束 Autolayout

SnapKit 我就用这一个

swift 的第三方库还有很多,把有用的留着以后查阅,以后找到会持续更新。

原文:https://www.cnblogs.com/sundaysme/articles/10594598.html

推荐阅读更多精彩内容