做開發的都知道,不要重復的造輪子,要提高工作效率,輪子好多人都已經造好了,好用,bug又少,本篇文章就是要整理好用的第三方庫,希望可以幫助大家,幫助自己,慢慢更新中, 如果有好用的庫,請在評論去留言,慢慢添加
這些都是我自己經常用到的, 大家一起交流下。
-
短信驗證碼
使用mob_smssdk
發送驗證碼, 宣稱永久免費、沒有使用限制,感覺挺好用,反正不花錢。唯一吐槽的時短信內容有官方名字,個人用戶自定義模板又幾乎不可能。如果用戶量大了就別用了,花點錢搞個正式的。
-
關于一些icon切圖
前提若沒有美工,沒有設計,去哪里搞好看的圖片?直接想到的就是解壓別人的IPA獲取一些資源(太明顯了也不好看)。我使用的是阿里巴巴矢量圖標庫http://www.iconfont.cn,這里資源很豐富,一些基礎的圖標可以拿來直接使用。
-
Alamofire -swift
網絡請求框架,APP必引用的庫
地址:https://github.com/Alamofire/Alamofire
其他解析:http://www.lxweimin.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)
}
-
Moya (必用) 網絡請求層封裝
地址:https://github.com/Moya/Moya.git
-
LZTag - 標簽選擇器(必用)
使用說明:http://www.lxweimin.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
http://www.lxweimin.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 (必用)
-
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(視頻播放器)
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 也支持側滑返回
? 需要你的幫助
?????? ? 一個人的能力有線, 你還有哪些好用的庫,請在評論區 留言。 大家互助哈 。比如 數據庫 相關的,UI庫 相關的。期待你的留言。