大家好,我是K哥。一名独立开发者,同时也是Swift开发框架【Aquarius 】的作者,悦记 和爱寻车app的开发者。
Aquarius开发框架旨在帮助独立开发者和中小型团队,完成iOS App的快速实现与迭代。使用框架开发将给你带来简单、高效、易维护的编程体验。
Aquarius 是一个为 Swift 开发者打造的高效、轻量级开发框架,致力于提供简洁统一的 API 设计,帮助开发者快速构建高质量的 iOS 应用。本文将重点介绍其核心工具集
A.swift的使用方法。
Aquarius 框架中的 A.swift(简称 A)是一个功能强大的工具箱,它将常用的开发功能封装为静态方法,覆盖了 UI 构建、颜色图片、数据存储、文件操作、事件管理、日志、内购等高频场景。使用 A,开发者可以告别繁琐的底层调用,大幅提升开发效率与代码整洁度。
一、A.swift 是什么?
A 是 Aquarius 框架中的核心便捷层,以命名空间(Namespace)的形式组织代码,提供了一系列静态属性和方法,让开发者能够通过类似 A.ui、A.color、A.file 这样的语法快速调用功能模块。
其主要优势包括:
- 统一入口 :所有功能通过
A访问,降低记忆成本 - 类型安全:多数接口设计为类型安全或可选值,避免隐性崩溃
- 功能完备:涵盖 UI、主题、存储、系统交互、日志、支付等常用场景
- 现代并发支持 :如 IAP 模块使用
async/await封装,适配 Swift 并发编程
二、核心模块概览
下面我们简要介绍 A 中常用的子模块及其典型用途:
| 模块名 | 功能说明 |
|---|---|
A.ui |
快速创建常用 UI 控件 |
A.color / A.image |
主题色、系统图标与图片工具 |
A.userDefaults(_:) |
UserDefaults 便捷封装,支持 App Group |
A.file |
文件路径、目录与文件操作 |
A.calendarEvent |
日历事件管理(基于 EventKit) |
A.log |
分级日志输出,支持 emoji 标识 |
A.iap |
内购流程封装,基于 StoreKit 现代 API |
三、实战演示:感受编码效率的飞跃
3.1 快速创建并添加按钮
传统方式:
swift
let button = UIButton(type: .system)
button.addTarget(self, action: #selector(submitTapped), for: .touchUpInside)
使用A.swift:
swift
let button = A.ui.button
button.addTouchUpInsideBlock { [weak self] control in
...
}
let label = A.ui.label
let imageView = A.ui.imageView
let tableView = A.ui.tableView
...
告别不同UI控件创建方式的不同,统一UI控件创建方式。
3.2 使用主题色与系统图标
swift
view.backgroundColor = A.color.blackColor
imageView.image = A.image.systemImage(systemName: "star.fill")
统一管理颜色与图标,轻松适配暗黑模式与主题切换。
3.3 读写 UserDefaults
swift
//写入
A.userDefaults("group.com.jzx.app").forKey("username")
A.userDefaults("group.com.jzx.app").setValue("张三", forKey: "username")
//读取
let name: String? = A.userDefaults("group.com.jzx.app").getStringValue("username")
支持 App Group,并提供类型安全的读取接口。
3.4 文件操作
swift
let path = A.file.pathFromDocuments("data/user.json")
if !A.file.isExist(path) {
try? A.file.createFolder(at: "data")
}
// 写入文件...
封装常用文件操作方法,提升代码可读性。
3.5 创建日历事件
swift
A.calendarEvent.add(title: "发布会", startDate: start, endDate: end) { result in
switch result {
case .success(let id): A.log.info("创建成功:\(id)")
case .failure(let err): A.log.error("创建失败:\(err)")
}
}
自动处理权限申请与事件添加,回调清晰。
3.6 分级日志
swift
A.log.debug("用户点击按钮")
A.log.warning("网络请求超时")
A.log.error("解析失败:\(error)")
日志自带 emoji 和等级标识,调试更直观。
3.7 发起内购
swift
Task {
do {
let products = try await A.iap.fetchProducts(["com.jzx.pro"])
if let product = products.first {
try await A.iap.purchase(product: product)
A.log.info("购买成功")
}
} catch {
A.log.error("购买失败:\(error)")
}
}
基于现代 StoreKit API,支持 async/await,逻辑清晰。
四、最佳实践与注意事项
4.1 错误处理要到位
A 中多数可能出错的操作都会通过 Result、throws 或可选值来表示失败,请务必处理这些情况,避免直接使用 try! 或强制解包。
4.2 权限管理不能忘
如使用 A.calendarEvent 或 A.reminderEvent,请确保已在 Info.plist 中添加相应权限说明,并在使用前检查授权状态。
4.3 线程安全需注意
涉及 UI 更新的操作请确保在主线程执行。A.iap 等异步方法已自动处理线程切换,但仍建议使用 MainActor 或 DispatchQueue.main 更新界面。
4.4 结合 MVVM 架构
你可以在 ViewModel 中直接使用 A.file、A.userDefaults、A.iap 等模块,将平台相关代码与 UI 逻辑分离:
swift
class SettingViewModel {
func clearCache() {
let cachePath = A.file.pathFromCaches("")
try? A.file.removeItem(cachePath)
}
}
五、总结
A.swift 作为 Aquarius 框架中的"瑞士军刀",极大地简化了 iOS 开发中常见的任务流程。无论是创建界面、管理数据、记录日志,还是处理内购和系统事件,A 都提供了简洁而强大的接口。
如果你正在寻找一个能提升开发效率、减少样板代码的 Swift 工具集,不妨试试 Aquarius 框架中的 A.swift。
立即体验Aquarius:
第一步:探索资源
- ⭐ Star & Fork 框架源码 : GitHub - JZXStudio/Aquarius - 支持项目发展
- ⭐ Star & Fork 框架文档 : ZRead - JZXStudio/Aquarius - 项目介绍文档,深入了解框架
- ⭐ Star & Fork 悦记源码 : GitHub - JZXStudio/yuenote - 完整案例,深入了解框架使用方式
第二步:体验效果
第三步:沟通交流
- 💬 提交Issue : GitHub Issues - 反馈问题或建议
- 💌 联系与反馈 : studio_jzx@163.com - 直接交流开发心得