ios Swift 常用的第三方库

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

这些都是我自己经常用到的, 大家一起交流下。

  • 短信验证码

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

  • 关于一些icon切图

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

  • Alamofire -swift

网络请求框架,APP必引用的库

地址:https://github.com/Alamofire/Alamofire
其他解析:https://www.jianshu.com/p/4381fe8e10b6

示例

struct Login: Encodable {
    let email: String
    let password: String
}

let login = Login(email: "[email protected]", password: "testPassword")

AF.request("https://httpbin.org/post",
           method: .post,
           parameters: login,
           encoder: JSONParameterEncoder.default).response { response in
    debugPrint(response)
}
  • Moya (必用) 网络请求层封装

地址:https://github.com/Moya/Moya.git

  • LZTag - 标签选择器(必用)

使用说明:https://www.jianshu.com/p/41600e45a10a
gitub:https://github.com/lizhi0123/LZTag

适用 历史记录,热门搜索,或者其他的tag显示,可定制 灵活

效果图
  • URLNavigator - 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

  • HandyJSON -swift 竟然是alibaba 的

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 -swift

json 转model, model转json , 必用
https://github.com/tristanhimmelman/ObjectMapper

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

json 转model, model转json

和 MJRefresh 同一个作者

  • Kingfisher (必用)

异步加载图片

  • SnapKit(必用)

约束相当于 objective-c 的 Mansory

  • SwifterSwift(必用 - 效率神器)

swift 常用扩展

  • IQKeyboardManagerSwift

键盘出现或小时,UI自动变化

  • TPKeyboardAvoiding OC -

实现自动上滚,避免键盘遮盖住了textfield,textview等控件; https://github.com/michaeltyson/TPKeyboardAvoiding

  • MMKV

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

  • Bugly (必用)

腾讯 崩溃检测

  • SVGAPlayer

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

  • WKWebViewJavascriptBridge(必用)

WKWebView 和 js 之间的交互

  • QMUIKit

objective -c 的, 常用的UI封装

  • MJExtension -OC

model 和 string,dict 互转

  • 友盟统计

  • SwiftyStoreKit

内购


✅ 图片相关 ↓

  • FSPagerView swift (必用)

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

  • TZImagePickerController(必用)

照片选择器 是选择哦。选择图片后,还可以编辑图片的尺寸大小 cropRect。

  • SKPhotoBrowser图片浏览器 swift(需要更新数据源 慎用)

图片浏览器,可以从小到大 ,有个bug ,不能更新数据源。

  • ZLPhotoBrowser - swift 图片选择,和 图片浏览

图片选择,和 图片浏览; 支持 预览快速选择(参考QQ)
https://github.com/longitachi/ZLPhotoBrowser/blob/master/README_CN.md

  • YBImageBrowser 图片浏览器 ()oc

图片浏览器 ,可以像 微博,微信朋友圈 那样 从小 到大 显示,可以左右滑动,缩放。
可以自定义数据源,大图转小图时 不会闪动。不易于自定义样式
https://github.com/indulgeIn/YBImageBrowser

  • JXPhotoBrowser 图片浏览器 swift (推荐 扩展性好)

图片浏览器,可以从小 到大 显示,可以自定义显示cell,可以 设置本地图片 ,网络图片下载有个bug,当大图 缩小的小图的时候, 要是uiimageVie contentMode ,layer.cornerRadius不一样时 ,会闪动一下,解决方法:自定义动画 ,设置 动画中间图片的 contentMode,和 layer.cornerRadius
https://github.com/JiongXing/PhotoBrowser


  • JXSegmentedView(必用)

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

ZFPlayer(视频播放器)

视频播放器 https://github.com/renzifeng/ZFPlayer

VIMediaCache OC(播放器缓存 变下边播)

AVPlayer 变下边播 缓存
https://github.com/vitoziv/VIMediaCache


✅ 侧滑返回 ↓

FDFullscreenPopGesture 侧滑返回 OC

https://github.com/forkingdog/FDFullscreenPopGesture/tree/master/FDFullscreenPopGesture

SJFullscreenPopGesture 侧滑返回 支持 OC ,支持swift

https://github.com/changsanjiang/SJFullscreenPopGesture

# ObjC 
    pod 'SJFullscreenPopGesture/ObjC'
    
    # Swift
    pod 'SJFullscreenPopGesture/Swift'

TZScrollViewPopGesture scrollview 和 mapView 也支持侧滑返回

https://github.com/banchichen/TZScrollViewPopGesture

✅ 需要你的帮助

⚠️⚠️⚠️ ✅ 一个人的能力有线, 你还有哪些好用的库,请在评论区 留言。 大家互助哈 。比如 数据库 相关的,UI库 相关的。期待你的留言。

你可能感兴趣的:(ios Swift 常用的第三方库)