扩展
:可在Cocoapods官网查看github中各种库的最新版本号。
一. 优秀IOS第三方库
- Swift神经网络之计算机视觉库-Forge(了解):
Forge
- Swift神经网络之计算机视觉库-Forge(了解):
- 斜向渐变彩虹动画库-Pastel(炫酷): 登陆注册界面
Pastel
- 斜向渐变彩虹动画库-Pastel(炫酷): 登陆注册界面
- 滑动卡片视图-koloda (不常用):
koloda
- 滑动卡片视图-koloda (不常用):
- RxSwift(重要): Swift中的响应式编程(Reactive Programming in Swift)
RXSwift
备注:
(1)响应式布局(html5):网页根据窗口的大小进行布局
(2)响应式编程(表格/列表的数据获取与显示):对数据流动的观察
- RxSwift(重要): Swift中的响应式编程(Reactive Programming in Swift)
- SpreadsheetView-Excel表格组件(办公报表): 电子表格样式控件
SpreadsheetView
- SpreadsheetView-Excel表格组件(办公报表): 电子表格样式控件
- TZImagePickerController(实用): 图片选择器
TZImagePickerController
- TZImagePickerController(实用): 图片选择器
- 朋友圈富文本组件-YYKit(实用): 文本样式
Forge
- 朋友圈富文本组件-YYKit(实用): 文本样式
- 逆天组件-lottie(牛逼):动画
lottie
备注:IOS中实现动画比较耗时困难,lottie实现动画几乎不需要编码.它将动画直接转化为json,所以可以在服务器远程获取动画并在本地更新.跨平台,兼容android和ios.
- 逆天组件-lottie(牛逼):动画
- 转场动画英雄-HeroTransitions(炫酷): 跳转切换
HeroTransitions
- 转场动画英雄-HeroTransitions(炫酷): 跳转切换
- 通知横幅组件-NotificationBanner(实用): 推送通知样式
NotificationBanner
- 通知横幅组件-NotificationBanner(实用): 推送通知样式
- Swift转Kotlin组件-SwiftKotlin(实用): IOS转Android
SwiftKotlin
备注
:
Swift学习
Kotlin学习
- Swift转Kotlin组件-SwiftKotlin(实用): IOS转Android
- IOS变色龙-Chameleon(牛逼): 配色
Chameleon
- IOS变色龙-Chameleon(牛逼): 配色
- 磁性卡贴-DeckTransition(不常用): 音乐
DeckTransition
- 磁性卡贴-DeckTransition(不常用): 音乐
- Swift服务端框架-Perfect(了解): 服务端用Swift写尚不成熟
Perfect
- Swift服务端框架-Perfect(了解): 服务端用Swift写尚不成熟
- WebKit僵尸教主-WKZombie(实用): 网页版适配IOS版
WKZombie
- WebKit僵尸教主-WKZombie(实用): 网页版适配IOS版
- 日历控件-FSCalendar(实用)
FSCalendar
BRPickerView
- 日历控件-FSCalendar(实用)
- 轻量级App内购框架-SwiftyStoreKit(了解)
SwiftyStoreKit
- 轻量级App内购框架-SwiftyStoreKit(了解)
- 轻量级网络图片下载缓存框架-Kingfisher(实用)
Kingfisher
- 轻量级网络图片下载缓存框架-Kingfisher(实用)
- 本地存储-SwiftyUserDefaults(实用)
SwiftyUserDefaults
常识
:UserDefaults为IOS系统自带的存储小数据的本地存储,比较轻量使用方便;OS存储大数据一般使用Sqlite和CoreData,使用比较复杂。
备注
: 第三方库SwiftyUserDefaults优化了系统自带的UserDefaults,将key值(字符串)转换为静态类型,在编译时可检查错误,防止key值书写出错。
- 本地存储-SwiftyUserDefaults(实用)
- 权限请求-PermissionScope(实用)
PermissionScope
- 权限请求-PermissionScope(实用)
- IOS11风格药丸滑块-SectionedSlider(了解)
SectionedSlider
- IOS11风格药丸滑块-SectionedSlider(了解)
- 侧边栏-SlideMenuControllerSwift(实用)
SWRevealViewController
SlideMenuControllerSwift
备注
: SWRevealViewController库有bug,建议使用SlideMenuControllerSwift替代。
- 侧边栏-SlideMenuControllerSwift(实用)
- 第三方登录、支付和分享(实用)
(1) 微信第三方登录和分享框架WechatKit
备注
:需有偿申请微信AppId,以便使你的移动应用接入微信开放平台,让你的移动应用支持微信分享、微信收藏和微信支付。
(2) 新浪/微信/qq登录和分享框架SocialSDK
(3)支付宝和微信支付框架
支付宝和微信支付框架FLPayManager
微信支付框架WeChatPayDemo
(4) (微信/QQ/微博/人人/支付宝)分享/登录/支付openshare
备注
:openshare不使用官方sdk,体积小但集成度高。微信支付不仅要求是企业账号,还需有偿申请开通微信支付能力;支付宝也需申请开通支付宝支付能力
- 第三方登录、支付和分享(实用)
二. 实战示例
pod 'SWRevealViewController' #侧边栏(OC的第三方组件)
pod 'AMap3DMap' #高德地图
pod 'AMapLocation' # 定位
pod 'AMapSearch' #搜索
pod 'AMapNavi' #导航
pod 'FTIndicator' #提示(不用桥接)
pod 'swiftScan' #二维码扫描
pod 'APNumberPad' #键盘
pod 'SwiftyTimer' #计时
pod 'SwiftySound' #声音
pod 'AVOSCloud' #数据存储、短信、云引擎调用等基础服务模块
pod 'MIBlurPopup' #弹窗
pod 'AFNetworking' #网络请求(oc)
pod 'Alamofire' #网络请求(swift)
pod 'SwiftyJSON' #Json解析(数据缓存时使用,方便地处理json数据)
pod 'Just' #网络请求(swift)
pod 'Kingfisher' #网络图片缓存
pod 'BRPickerView' #日期选择器
pod 'PageMenu' #顶部分类滑动菜单
pod 'Charts' #图表
- 侧边栏组件:
SWRevealViewController
备注
:可根据关键词SideBar搜索侧边栏组件
- 侧边栏组件:
- 2.高德地图-SDK:
高德地图相关SDK - 地理译码-工具:
地理译码mygeoposition
- 地理译码-工具:
- 提示组件-FTIndicator:
FTIndicator
备注
:可根据关键词hud搜索提示组件
- 提示组件-FTIndicator:
import FTIndicator
FTIndicator.setIndicatorStyle(.dark)
FTIndicator.showNotification(with: UIImage(named: "warning"), title: "提示", message: "请输入完整信息")
- 二维码扫描组件-swiftscan:
swiftscan
备注
:可根据关键词qrcode搜索二维码扫描组件
- 二维码扫描组件-swiftscan:
- IOS字体预览-IOS字体设置:
IOS Fonts
- IOS字体预览-IOS字体设置:
- 键盘组件-APNumberPad:
APNumberPad
- 键盘组件-APNumberPad:
- 计时组件-SwiftyTimer:
SwiftyTimer
备注
:可根据关键词Timer搜索计时组件
- 计时组件-SwiftyTimer:
- 声音组件-SwiftySound:
SwiftySound
- 声音组件-SwiftySound:
- 云端存储-leancloud平台:
leancloud
- 云端存储-leancloud平台:
- 弹窗组件-MIBlurPopup:
MIBlurPopup
- 弹窗组件-MIBlurPopup:
- 网络通信框架:
网络通信框架
- 网络通信框架:
- 13 日期/时间/地址/自定义字符串选择器-BRPickerView
BRPickerView
BRPickerView-日期选择器 - 14 顶部滑动分类菜单-PageMenu
PageMenu
使用pod导入编译后报错:
Argument of '#selector' refers to instance method 'scrollViewDidEndTapScrollingAnimation()' that is not exposed to Objective-C
Add '@objc' to expose this instance method to Objective-C
分析:#selector选择器是O-C的特性,Swift3后已弃用
解决:报错所在方法前加"@objc",重新将该特性暴露给O-C
三. 其它组件(未验证)
- 1 通信录-PPGetAddressBookSwift
PPGetAddressBookSwift - 2 选择列表和九宫格-BAPickView/BAGridView
BAPickView/BAGridView