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: "test@test.test", password: "testPassword")
AF.request("https://httpbin.org/post",
method: .post,
parameters: login,
encoder: JSONParameterEncoder.default).response { response in
debugPrint(response)
}
-
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)
-
Kingfisher
-
SnapKit
-
SwifterSwift
-
IQKeyboardManagerSwift
-
FSPagerView https://github.com/WenchaoD/FSPagerView
-
MMKV
-
Bugly
-
SVGAPlayer
-
WKWebViewJavascriptBridge
-
QMUIKit
-
MJExtension -OC