做开发的都知道,不要重复的造轮子,要提高工作效率,轮子好多人都已经造好了,好用,bug又少,本篇文章就是要整理好用的第三方库,希望可以帮助大家,帮助自己,慢慢更新中, 如果有好用的库,请在评论去留言,慢慢添加
这些都是我自己经常用到的, 大家一起交流下。
-
短信验证码
使用mob_smssdk发送验证码, 宣称永久免费、没有使用限制,感觉挺好用,反正不花钱。唯一吐槽的时短信内容有官方名字,个人用户自定义模板又几乎不可能。如果用户量大了就别用了,花点钱搞个正式的。
-
关于一些icon切图
前提若没有美工,没有设计,去哪里搞好看的图片?直接想到的就是解压别人的IPA获取一些资源(太明显了也不好看)。我使用的是阿里巴巴矢量图标库www.iconfont.cn,这里资源很丰富,一些基础的图标可以拿来直接使用。
-
Alamofire -swift
网络请求框架,APP必引用的库
地址:github.com/Alamofire/A… 其他解析:www.jianshu.com/p/4381fe8e1…
示例👇🏻
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 (必用) 网络请求层封装
-
URLNavigator - Swift
以链接的方式打开controller,Router路由
地址: github.com/devxoul/URL… 示例👇🏻
Navigator.push("myapp://user/123")
Navigator.present("myapp://post/54321", wrap: UINavigationController.self)
Navigator.open("myapp://alert?title=Hello&message=World")
其他解析:blog.csdn.net/jancywen/ar… www.jianshu.com/p/3bbabe0e9…
-
HandyJSON -swift json,model互转 竟然是alibaba 的
HandyJSON是一个用于Swift语言中的JSON序列化/反序列化库。 必用
github.com/alibaba/Han…
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 , 必用 github.com/tristanhimm…
let user = User(JSONString: JSONString)
let JSONString = user.toJSONString(prettyPrint: true)
-
KakaJSON (json,model 互转)
json 转model, model转json
和 MJRefresh 同一个作者
-
Kingfisher (必用) 异步加载图片
异步加载图片
-
SnapKit(必用)布局
约束相当于 objective-c 的 Mansory
-
SwifterSwift(必用 - 效率神器)常用的标准库扩展
swift 常用扩展
-
IQKeyboardManager Swift 键盘
键盘出现或小时,UI自动变化
-
TPKeyboardAvoiding OC -
实现自动上滚,避免键盘遮盖住了textfield,textview等控件; github.com/michaeltyso…
-
MMKV
存储数据 ,使用方法 类似
userDefault
-
Bugly (必用)
腾讯 崩溃检测
-
SVGAPlayer svga 动画播放器
svga 动画播放,类似 抖音 直播 发礼物的效果 火箭🚀效果
-
WKWebViewJavascriptBridge(必用) WKWebView 和 js 相互调用
WKWebView 和 js 之间的交互
-
QMUIKit
objective -c 的, 常用的UI封装
-
MJExtension -OC
model 和 string,dict 互转
-
友盟统计
-
SwiftyStoreKit ios内购
内购
✅ 图片相关 ↓
-
FSPagerView swift (必用 图片轮播图)
图片轮播图 github.com/WenchaoD/FS…
-
TZImagePickerController(必用 oc) 图片选择器
照片选择器 是选择哦。选择图片后,还可以编辑图片的尺寸大小 cropRect。
-
ZLPhotoBrowser swift 图片选择器
图片选择器 地址 github.com/longitachi/…
-
SKPhotoBrowser图片浏览器 swift(需要更新数据源 慎用)
图片浏览器,可以从小到大 ,有个bug ,不能更新数据源。
-
ZLPhotoBrowser - swift 图片选择,和 图片浏览
图片选择,和 图片浏览; 支持 预览快速选择(参考QQ) github.com/longitachi/…
-
YBImageBrowser 图片浏览器 ()oc
图片浏览器 ,可以像 微博,微信朋友圈 那样 从小 到大 显示,可以左右滑动,缩放。 可以自定义数据源,大图转小图时 不会闪动。不易于自定义样式 github.com/indulgeIn/Y…
-
JXPhotoBrowser 图片浏览器 swift (推荐 扩展性好)
图片浏览器,可以从小 到大 显示,可以自定义显示cell,可以 设置本地图片 ,网络图片下载有个bug,当大图 缩小的小图的时候, 要是uiimageVie contentMode ,layer.cornerRadius不一样时 ,会闪动一下,解决方法:自定义动画 ,设置 动画中间图片的 contentMode,和 layer.cornerRadius github.com/JiongXing/P…
-
JXSegmentedView(必用) - tab菜单
一个轻量级、配置丰富、灵活扩展的分段控制器 tab 标签 github.com/pujiaxin33/…
PageMenu
ZFPlayer(视频播放器)
视频播放器 github.com/renzifeng/Z…
VIMediaCache OC(播放器缓存 变下边播)
AVPlayer 变下边播 缓存 github.com/vitoziv/VIM…
✅ 侧滑返回 ↓
-
FDFullscreenPopGesture 侧滑返回 OC
-
SJFullscreenPopGesture 侧滑返回 支持 OC ,支持swift
# ObjC
pod 'SJFullscreenPopGesture/ObjC'
# Swift
pod 'SJFullscreenPopGesture/Swift'
-
TZScrollViewPopGesture scrollview 和 mapView 也支持侧滑返回
ESPullToRefresh (swift) 下拉刷新加载更多
可以替代 MJRefresh
DGElasticPullToRefresh 下拉刷新
HGPlaceholders(swift) tableview,collectionview 空状态
EmptyDataSet-Swift
(
DZNEmptyDataSetwith Swift) tableview,collectionview 空状态
awesome-xcode-extensions xcode 常用的扩展库 你值得拥有,提升开发效率
QRCode 二维码扫描 SwiftScan
✅ 抽屉侧滑菜单 ↓
-
SideMenu 抽屉侧滑菜单
leftMenu, rightMenu 是present 出来的。在最顶层
-
ENSwiftSideMenu
-
FlowingMenu
-
RESideMenu (oc)
-
CWLateralSlide (oc) 可参考思想
✅ 需要你的帮助
⚠️⚠️⚠️ ✅ 一个人的能力有线, 你还有哪些好用的库,请在评论区 留言。 大家互助哈 。比如 数据库 相关的,UI库 相关的。期待你的留言。