ios Swift 常用的第三方庫

做開發的都知道,不要重復的造輪子,要提高工作效率,輪子好多人都已經造好了,好用,bug又少,本篇文章就是要整理好用的第三方庫,希望可以幫助大家,幫助自己,慢慢更新中, 如果有好用的庫,請在評論去留言,慢慢添加

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

  • 短信驗證碼

使用mob_smssdk發送驗證碼, 宣稱永久免費、沒有使用限制,感覺挺好用,反正不花錢。唯一吐槽的時短信內容有官方名字,個人用戶自定義模板又幾乎不可能。如果用戶量大了就別用了,花點錢搞個正式的。

  • 關于一些icon切圖

前提若沒有美工,沒有設計,去哪里搞好看的圖片?直接想到的就是解壓別人的IPA獲取一些資源(太明顯了也不好看)。我使用的是阿里巴巴矢量圖標庫http://www.iconfont.cn,這里資源很豐富,一些基礎的圖標可以拿來直接使用。

網絡請求框架,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顯示,可定制 靈活

效果圖

以鏈接的方式打開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語言中的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庫 相關的。期待你的留言。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容