作为一名工作了不短时间的iOS开发者,对一个完整的App所包含的功能模块有一点自己的认识。这里进行一个总结。
- 全局宏定义
打印函数、屏幕尺寸、weakself、iOS版本号、单例、去除警告等宏定义,配合预编译文件使用。 - Category
相关类的Category,提供辅助功能,例如:提供使用十六进制数创建颜色的功能、图片旋转的函数等。 - 加密(Security)
用于网络信息或本地数据的加密。如md5等. - 路径管理(PathManager)
获取各种路径,例如数据库路径等(Documents)。 - 三方库
涉及到的三方库,常用的有FMDB、AFNetworking、MBProgressHUD、SDWebImage等。
- Crash收集模块(CrashLogger)
用于收集线上出现的crash,网络连通后传给服务器进行汇总,帮助开发解决问题. - 升级模块(UpgradeManager)
监测新版本,根据服务器设置的版本升级策略(强制升级 or 可选升级)提醒用户升级到最新版本。 - 评价App模块(EvaluateManager)
用户使用一段时间或使用某种功能之后触发评价界面,引导用户对该App进行评价。需要指定合理的触发条件。 - 重新登录
检查账号状态,token或uid错误时,或多终端问题,让App自动退出登录。