Mac App Store应用提交全指南
1. 沙盒与权限的重要性
在应用开发中,应用可能会执行各种操作,如删除iTunes库中的歌曲、发送电子邮件,甚至可能在无意识的情况下泄露包含银行账户和医疗记录等私人信息的文件。为了防止应用的不良行为,苹果引入了沙盒(Sandboxing)机制。
沙盒机制通过限制应用的操作范围来控制其行为,它为应用提供了一个与操作系统其他部分隔离的“沙盒”环境,防止应用进行以下活动:
- 读写文件
- 访问网络(包括传入和传出)
- 访问连接的硬件设备,如相机、USB驱动器、打印机、麦克风
- 读写地址簿、日历或位置信息中的用户数据
然而,许多应用无法遵守沙盒的所有限制,例如无法保存、打开或打印文档的文字处理器,或者无法打开网站的网络浏览器。为了让应用在可控的情况下突破沙盒限制,苹果提供了权限(Entitlements)。
权限是指授予应用在沙盒环境中原本被禁止的特定权限。开发者可以为应用添加相应的权限,沙盒机制会剥夺应用的所有特权,而权限则会将特定的特权重新赋予应用。通过权限,应用可以恢复读写文件(甚至是特定文件夹,如下载或音乐文件夹)、访问网络、打印、使用相机等功能。具体可授予的权限可参考苹果文档: Entitlement Keys 。