在 iPaste 的外圍功能中,今天主要搞定了 Preferences & Permission.
Preferences 方面,由于目前主要是靜態(tài)的功能,于是采用了 UITableViewController,基于 UITableView 使用 Static Cells 模式,手動(dòng)添加一個(gè)個(gè)選項(xiàng)。其它一些細(xì)節(jié):
- 使用
SFSafariViewController在應(yīng)用內(nèi)打開網(wǎng)頁(yè),不至于跳出應(yīng)用。 - 使用
MFMailComposeViewController發(fā)送反饋郵件。 - 當(dāng)系統(tǒng)未配置郵箱時(shí),打開網(wǎng)頁(yè)進(jìn)行反饋。
Permission 方面,目前 iPaste 僅使用了網(wǎng)絡(luò)權(quán)限。主要要注意的點(diǎn):
- 在應(yīng)用啟動(dòng)時(shí),避免一切網(wǎng)絡(luò)請(qǐng)求。僅當(dāng)用戶有手動(dòng)操作時(shí),才請(qǐng)求網(wǎng)絡(luò)。主要的好處是:不至于首次打開應(yīng)用,就被提示要授權(quán)網(wǎng)絡(luò)連接。
- 封裝檢測(cè)當(dāng)前應(yīng)用是否可以訪問(wèn)的方法。對(duì)于重要的網(wǎng)絡(luò)請(qǐng)求,先檢測(cè)網(wǎng)絡(luò)是否通暢。
- 實(shí)際測(cè)試有些麻煩。因?yàn)?iOS 僅在用戶首次運(yùn)行時(shí)才彈出授權(quán)申請(qǐng),要重置就要重置所有應(yīng)用的權(quán)限,卸載程序都不行。感覺真的很不友好。
另外,我一直覺得應(yīng)用應(yīng)該盡量減少配置項(xiàng),今天碰到法理依據(jù)了: