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

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

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

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

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

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


博客原文:0902 - Preferences & Permission

0902 - Preferences Permission相关推荐

  1. Permission is only granted to system app

    参考: http://stackoverflow.com/questions/13801984/permission-is-only-granted-to-system-app In Eclipse: ...

  2. 解决android.permission.WRITE_APN_SETTINGS

    在ICS40以前的版本中,如果程序需要设置APN,只需要在AndroidManifest文件中声明<uses-permissionAndroid:name="android.permi ...

  3. Docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket解决方案

    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker. ...

  4. java.io.FileNotFoundException: /storage/emulated/0/one.mp4 (Permission denied)

    读取手机存储卡里面的内容的时候 提示权限拒绝的异常的 这个呢,处理方法就是 在配置文件中添加 <!--往sdcard中写入数据的权限 --><uses-permission andr ...

  5. [认证授权] 6.Permission Based Access Control

    在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证.那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务 ...

  6. android service intent-filter,如何在permission中加入intent-filter过滤器获取NotificationListenerService权限...

    现在要让我的app获取NotificationListenerService权限,我勾选了BIND_NOTIFICATION_LISTENER_SERVICE权限后,用native.js跳到ACTIO ...

  7. Shutil.move PermissionError: [WinError 82] 无法创建目录或文件,以及PermissionError: [Errno 13] Permission denied

    Shutil.move PermissionError: [WinError 82] 无法创建目录或文件,以及PermissionError: [Errno 13] Permission denied ...

  8. php报错Permission denied

    去apache的log下看error_log文件 #cd /usr/local/apache2/logs/ (13)Permission denied: exec of '....index.php' ...

  9. iOS 关于pods-frameworks.sh:permission denied报错的解决

    最近公司新开项目,搭建完框架后小伙伴拉取代码后build一直报错:pods-frameworks.sh:permission denied 查了很多博文后找到了如下解决方案,在此记录. 打开终端输入如 ...

最新文章

  1. Java命令行运行参数说明大全--转
  2. vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
  3. C#的Socket-UDP通信
  4. 【转】增强 scite 编辑器的代码提示功能
  5. [Hadoop入门] - 1 Ubuntu系统 Hadoop介绍 MapReduce编程思想
  6. 乡村野生草药_官方野生蝇群流口水分数
  7. 初学echart的简单使用
  8. LeetCode(1122)——数组的相对排序(JavaScript)
  9. HTML5新增视频标签(HTML5)
  10. 【论文阅读】Network In Network
  11. 有哪些好看的字体可以免费用?看完这篇就知道了
  12. 阿里Sophix热修复接入指南
  13. Google maps及51ditu的图片切割及存储方法
  14. 一个人、一瓶酒、半斤肉饼、两杯饮料
  15. 2023年全国最新工会考试精选真题及答案53
  16. CSS选择器优先级(特异性)
  17. 统计源期刊《国际医学放射学杂志》
  18. python爬取喜马拉雅收费_python 爬取喜马拉雅节目生成RSS Feed
  19. ESL第十七章 无向图模型 学习/推断/成对马尔可夫独立/全局马尔可夫性、协方差图/高斯图/修改回归算法/图结构估计/图lasso、【受限】玻尔兹曼机/泊松对数线性建模/迭代比例过滤/对比散度
  20. 合创视觉科技交互设计学的是什么东西?

热门文章

  1. python如何获取信息_如何使用Python获取系统信息?
  2. 远程控制软件 TeamViewer | Windoes和Linux下teamviewer软件互连
  3. lr mysql 增删改查_Python对MySQL进行增删查改
  4. 初中文化能学编程吗_儿童早教益智,乐森星际特工智能编程机器人体验
  5. Linux系统之高级用户组和权限管理
  6. Dockerfile使用方法详解
  7. 数据结构和算法分析: 红黑树
  8. 11kw星三角启动延时几秒_电机星三角降压启动原理图
  9. 三种方法实现Linux系统调用方法分享
  10. H5 canvas 绘图