在 iPaste 的外围功能中,今天主要搞定了 Preferences & Permission.
Preferences 方面,由于目前主要是静态的功能,于是采用了 UITableViewController,基于 UITableView 使用 Static Cells 模式,手动添加一个个选项。其它一些细节:
- 使用
SFSafariViewController
在应用内打开网页,不至于跳出应用。 - 使用
MFMailComposeViewController
发送反馈邮件。 - 当系统未配置邮箱时,打开网页进行反馈。
Permission 方面,目前 iPaste 仅使用了网络权限。主要要注意的点:
- 在应用启动时,避免一切网络请求。仅当用户有手动操作时,才请求网络。主要的好处是:不至于首次打开应用,就被提示要授权网络连接。
- 封装检测当前应用是否可以访问的方法。对于重要的网络请求,先检测网络是否通畅。
- 实际测试有些麻烦。因为 iOS 仅在用户首次运行时才弹出授权申请,要重置就要重置所有应用的权限,卸载程序都不行。感觉真的很不友好。
另外,我一直觉得应用应该尽量减少配置项,今天碰到法理依据了: