0902 - Preferences & Permission

在 iPaste 的外围功能中,今天主要搞定了 Preferences & Permission.

Preferences 方面,由于目前主要是静态的功能,于是采用了 UITableViewController,基于 UITableView 使用 Static Cells 模式,手动添加一个个选项。其它一些细节:

  • 使用 SFSafariViewController 在应用内打开网页,不至于跳出应用。
  • 使用 MFMailComposeViewController 发送反馈邮件。
  • 当系统未配置邮箱时,打开网页进行反馈。

Permission 方面,目前 iPaste 仅使用了网络权限。主要要注意的点:

  • 在应用启动时,避免一切网络请求。仅当用户有手动操作时,才请求网络。主要的好处是:不至于首次打开应用,就被提示要授权网络连接。
  • 封装检测当前应用是否可以访问的方法。对于重要的网络请求,先检测网络是否通畅。
  • 实际测试有些麻烦。因为 iOS 仅在用户首次运行时才弹出授权申请,要重置就要重置所有应用的权限,卸载程序都不行。感觉真的很不友好。

另外,我一直觉得应用应该尽量减少配置项,今天碰到法理依据了: