字
字节笔记本
2026年2月19日
SpeedySwift:iOS App 开发加速库
当独立开发者面临时间压力,如何在一天内完成从开发到上线的全过程?SpeedySwift 的作者用实际行动给出了答案:一个精心设计的加速库,能让开发效率提升数倍。
SpeedySwift 简介
SpeedySwift 是由 Tliens(我是熊大)开发的开源 Swift 加速库,专为 iOS App 开发设计。它集成了大量常用功能和扩展,帮助开发者快速构建应用。该库已被用于《小灵感》《今日计划》《NOTO-极简任务清单》等多款上架应用。该项目在 GitHub 上拥有 489 stars 和 71 forks。
核心定位:这是一个 app 开发的加速库
核心特性
- 属性包裹器:支持 Codable 默认值、UserDefault 数据持久化
- UI 适配终结者:UI+Scale.swift 自动适配各种屏幕
- 常用函数集合:基于 SwifterSwift 精简的实用函数
- 页面跳转封装:App 跳转、ViewController、NavigationController、TabbarController 基础封装
- 系统功能:网络监察、截屏监听、弹窗管理、沙盒缓存
- 设备信息:App 信息、BundleID、DisplayName、Version 等
- 震动反馈:7 种震动反馈模式
基本信息
- GitHub 仓库:https://github.com/Tliens/SpeedySwift
- CocoaPods:https://cocoapods.org/pods/SpeedySwift
- 星标数:489 stars
- Fork 数:71 forks
- 主要语言:Swift (98.7%)
- 许可证:MIT
安装方法
CocoaPods
ruby
pod 'SpeedySwift'要求:Swift 5.0 及以上
本地 Pod(推荐)
ruby
pod 'SpeedySwift', :path => '../SpeedySwift'使用示例
颜色
swift
let color = UIColor.hex("#22023b")底部安全区高度
swift
let height = SS.safeBottomHeightSSCollectionViewLayout(自动适配方向)
swift
let layout = SSCollectionViewLayout(
longitude: 0,
latitude: 10.scale,
itemSize: CGSize(width: 130.scale, height: 139.scale),
sectionInset: .init(top: 10.scale, left: 20.scale, bottom: 0, right: 20.scale),
direction: .vertical
)属性包裹器
swift
// Codable 默认值
class Member: Codable {
@Default<Bool.defalut> var isOk: Bool
@Default<String.defalut> var name: String
@Default<Int.defalut> var age: Int
}
// UserDefault 数据持久化
@UserDefault("had_shown_guide_view", defaultValue: false)
static var hadShownGuideView: Bool系统页面跳转
swift
// 跳转到系统设置
static func systemJump(completionHandler completion: ((AppJumpStatus) -> Void)? = nil) {
let urlString = UIApplication.openSettingsURLString
if let url: URL = URL(string: urlString) {
App.jump(url: url, completionHandler: completion)
} else {
completion?(.fail)
}
}通过 Cell 上的控件获取 IndexPath
swift
// UITableView 扩展
extension UITableView {
/// 获取 indexPath
func indexPath(by child: UIView) -> IndexPath? {
let point = child.convert(CGPoint.zero, to: self)
return self.indexPathForRow(at: point)
}
/// 获取 cell
func cell(by child: UIView) -> UITableViewCell? {
let point = child.convert(CGPoint.zero, to: self)
if let indexPath = self.indexPathForRow(at: point) {
return self.cellForRow(at: indexPath)
}
return nil
}
}其他常用功能
swift
// App 版本号
static var version: String? {
return Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
}
// 设备名称
static var deviceName: String {
return UIDevice.current.localizedModel
}
// 设备方向
static var deviceOrientation: UIDeviceOrientation {
return UIDevice.current.orientation
}
// 主窗口
static var keyWindow: UIView? {
return UIApplication.shared.keyWindow
}
// 当前系统版本
static var systemVersion: String {
return UIDevice.current.systemVersion
}
// 判断设备是不是 iPhoneX
static var isX: Bool {
var isX = false
if #available(iOS 11.0, *) {
let bottom: CGFloat = UIApplication.shared.delegate?.window??.safeAreaInsets.bottom ?? 0
isX = bottom > 0.0
}
return isX
}项目结构
text
SpeedySwift/
├── Base/ # 基础类
├── Core/ # UIKit + Foundation 扩展
├── SS.swift # 核心类,包含各种 extension
├── SSDefault.swift # 属性包裹器封装
├── SSCodableDefault.swift # Codable 默认值
├── SSSandBox.swift # 沙盒相关操作
└── Tools/ # App 跳转、网络检查、弹窗、震动反馈实际应用
使用 SpeedySwift 开发的应用:
- 小灵感:https://apps.apple.com/cn/app/id6447693393
- 今日计划:https://apps.apple.com/cn/app/id1505020317
- NOTO-极简任务清单:从开发到上线用时不到一天
适用场景
- 独立开发者快速开发应用
- iOS 开发效率提升
- Swift 进阶学习参考
- 常用功能代码复用
总结
SpeedySwift 是一个实用的 iOS 开发加速库,其优势包括:
- 开发效率高:大幅减少重复代码编写
- 功能丰富:涵盖 UI、网络、存储、设备信息等多个方面
- 实战验证:已被多款上架应用使用
- 持续维护:作者持续更新和优化
对于独立开发者或需要快速开发 iOS 应用的团队来说,这是一个很好的基础库选择。
分享: