Expenso-iOS部署指南:从开发到App Store上架的完整流程
Expenso-iOS是一款基于SwiftUI、CoreData和Charts构建的简单 expense tracker应用,支持生物识别(Face & Touch ID)、CSV导出和MVVM架构。本指南将带你完成从开发环境搭建到App Store上架的完整流程,即使是新手也能轻松掌握。
📱 准备工作:开发环境配置
1. 安装必要工具
确保你的Mac已安装:
- Xcode 12.0+(推荐最新版本)
- CocoaPods(依赖管理工具)
- Git(版本控制)
2. 获取项目代码
通过终端克隆仓库:
git clone https://gitcode.com/gh_mirrors/ex/Expenso-iOS
cd Expenso-iOS
3. 安装依赖
项目使用CocoaPods管理第三方库,执行以下命令安装依赖:
pod install
安装完成后,打开Expenso.xcworkspace文件(不是.xcodeproj)。
⚙️ 项目配置与自定义
1. 基础配置
- 应用名称:在
Info.plist中修改CFBundleDisplayName - 版本号:更新
CFBundleShortVersionString和CFBundleVersion - 图标替换:替换
Expenso/Assets.xcassets/AppIcon.appiconset/目录下的图标文件
2. 功能模块说明
Expenso的核心功能模块位于以下路径:
- 数据模型:
Expenso/Expenso.xcdatamodeld/(CoreData模型) - 业务逻辑:
Expenso/Library/CoreData/ExpenseCD.swift(数据持久化) - UI界面:
Expenso/Screens/(各功能页面) - 图表功能:
Expenso/Library/Helpers/ChartView.swift(使用Charts库)
 图2:Expenso的图表功能图标,用于展示收支统计数据
3. 生物识别配置
项目已集成生物识别功能,相关代码位于: Expenso/Library/Utilities/BiometricAuthUtility.swift
如需调整权限,在Info.plist中添加:
<key>NSFaceIDUsageDescription</key>
<string>需要使用Face ID解锁应用</string>
🔨 开发与测试
1. 模拟器测试
选择合适的模拟器(如iPhone 14),点击Xcode工具栏的"运行"按钮(▶️),或使用快捷键Cmd+R。
2. 真机测试
- 连接iPhone设备,在Xcode中选择设备
- 登录Apple开发者账号(在
Xcode > Settings > Accounts中添加) - 配置签名:在项目设置的"Signing & Capabilities"中选择团队
3. 功能测试清单
- ✅ 收支记录添加/编辑/删除
- ✅ 图表统计展示
- ✅ 生物识别解锁
- ✅ CSV导出功能(位于
Expenso/Screens/ExpenseSettings/) - ✅ 深色/浅色模式切换
🚀 打包与上架App Store
1. 归档项目
- 在Xcode中选择
Product > Archive - 等待构建完成后,进入Organizer窗口
2. 验证归档
- 选择归档文件,点击"Validate App"
- 确保所有验证项通过(签名、兼容性等)
3. 上传到App Store
- 点击"Distribute App",选择"App Store Connect"
- 按照指引完成上传
4. App Store Connect配置
- 登录App Store Connect
- 创建新App,填写应用信息(名称、描述、关键词等)
- 上传截图(可使用
art/目录下的素材) - 设置价格和地区
📌 常见问题解决
1. 依赖安装失败
pod repo update
pod install --verbose
2. 签名错误
- 确保开发者账号有效
- 检查证书和描述文件是否过期
- 在"Signing & Capabilities"中勾选"Automatically manage signing"
3. 生物识别不工作
- 确保设备支持Face ID/Touch ID
- 检查
Info.plist中的权限描述 - 验证
BiometricAuthUtility.swift中的实现
🎉 总结
通过本指南,你已掌握Expenso-iOS从开发到上架的完整流程。这款应用展示了SwiftUI、CoreData和MVVM架构的最佳实践,你可以基于此进行二次开发,添加更多个性化功能。
如果在部署过程中遇到问题,可参考项目中的README.md或查看Expenso/Library/Helpers/目录下的工具类源码获取更多技术细节。祝你上架顺利!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




