Xcode 沙盒选项

摘要:
第一个是AppSandbox开关。单击ON以指示应用程序使用沙盒。上图中选项的一些解释如下:网络:网络访问控制输入连接:需要打开向服务器提供HTTP、FTP和其他服务的应用程序。OutgoingConnections:作为客户端,它需要在访问服务器时打开。硬件:硬件资源包含以下子项:相机:如果需要打开相机功能,请选中此项。音频输入:如果您需要获得音频输入权限,请选中此框。否则,AppReview团队将拒绝启动您的应用程序。3.1.2权利将直接更改为xml,并启用沙盒权限。事实上,沙盒中需要访问权限的每个项都对应一个键,相应的值YES或NO表示是否允许访问。

 Capabilities 开启Sandbox权限--转载--https://juejin.cn/post/6844904199688290318

应用开发完成提交到App Store时,必须进行沙盒化。切换到工程target设置Tab的Capabilities中。

  • 第一项就是App Sandbox开关,点击ON,表示应用使用沙盒。

App Sandbox开关,点击ON,表示应用使用沙盒上图的选项的一些解释如下:

  1. Network:网络访问控制
  1. Incoming Connections (Server): 应用做为Server对外提供HTTP,FTP等服务时需要打开。如果你的App担任服务器角色,需要连接通信需要开启此权限。
  2. Outgoing Connections (Client): 做为客户端,访问服务器时需要打开。如果你的App需要作为客户端进行socket连接通信需要开启此权限。
  1. Hardware:硬件资源控 它包含下面这些子项:
  1. Camera: 如果你需要开启摄像头功能,勾选此项。
  2. Audio Input: 如果你需要获取音频 输入权限(如麦克风),勾选此项。
  3. USB : 如果你需要使用USB传输文件,需要开启此功能 4: Printing: 如果你需要打印文件里面的内容,需要开启此功能
  1. App Data:获取系统的联系人,位置,日历服务时需要打开
  1. Contacts: 如果要访问联系人,需要勾选此项
  2. Location: 如果需要定位,需要勾选此项。
  3. Calendar: 如果需要访问日历,需要勾选此项。
  1. File Access:文件和用户目录的访问控制,分为禁止none,只读,读写3类
  1. User Selected File:文档类应用或者需要用户选择打开某个文件时,需要选择合适的访问权限.
  2. Downloads Folder: 如果需要访问当前用户 Downloads文件夹,需要勾选此项,可以设置为只读,或者可读可写
  3. Pictures Folder: 如果需要访问当前用户 Pictures文件夹,需要勾选此项,可以设置为只读,或者可读可写
  4. Music Folder: 如果需要访问当前用户 Music文件夹,需要勾选此项,可以设置为只读,或者可读可写
  5. Movies Folder: 如果需要访问当前用户 Movies文件夹,需要勾选此项,可以设置为只读,或者可读可写

特别注意:如果应用中不需要的权限项,一律不要打开。否则App Review团队会拒绝你的应用上架.

3.1.2 Entitlements 直接变xml,开启Sandbox权限

实际上,在沙盒中每个需要访问权限的项都对应一个key,对应的value,YES 或 NO表示是否允许访问。当你选择了项后,都会记录在一个扩展名为.entitlements的plist 的文件中,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plistversion="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.assets.movies.read-write</key>
    <true/>
    <key>com.apple.security.assets.music.read-only</key>
    <true/>
    <key>com.apple.security.assets.pictures.read-only</key>
    <true/>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    <key>com.apple.security.cs.allow-jit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.cs.disable-executable-page-protection</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
    <key>com.apple.security.device.audio-input</key>
    <true/>
    <key>com.apple.security.device.camera</key>
    <true/>
    <key>com.apple.security.device.usb</key>
    <true/>
    <key>com.apple.security.files.bookmarks.app-scope</key>
    <true/>
    <key>com.apple.security.files.downloads.read-write</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.security.network.server</key>
    <true/>
    <key>com.apple.security.personal-information.photos-library</key>
    <true/>
    <key>com.apple.security.print</key>
    <true/>
    <key>com.apple.security.temporary-exception.apple-events</key>
    <array>
        <string>com.apple.itunes</string>
    </array>
    <key>com.apple.security.temporary-exception.files.absolute-path.read-write</key>
    <true/>
    <key>com.apple.security.temporary-exception.shared-preference.read-only</key>
    <array>
        <string>com.apple.iphoto</string>
        <string>com.apple.photobooth</string>
        <string>com.apple.photos</string>
    </array>
</dict>
</plist>
 
复制代码

用plist属性显示如下:

用plist属性显示

应用打包时会对这个文件进行签名。 当应用运行期间要获取某个权限时,系统都会通过.entitlements去检查应用是否有授权,如果没有就拒绝访问。

免责声明:文章转载自《Xcode 沙盒选项》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇15个优秀的第三方 Web 技术集成 dodo转载:堆栈溢出(Stack overflow)问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

win7/win10系列的office安装与激活

Windows系列电脑安装office傻瓜式教程 一. 下载与安装 下载 (1).所需工具:迅雷 下载链接:http://xl9.xunlei.com/ 显示界面如下,点击“立即下载”即可,然后安装 迅雷安装只需一直点击下一步即可 (2).office安装包下载链接: (关于32位和64位版本,科普一下,查看方法:右键单击“我的电脑”,选择“属性”,方可...

“渴了么”软件需求规格说明书

“渴了么” 软件需求规格说明书 组员:陈志利 檀威 赵永恒 范德一 日期:2015年5月 目录 1 引言............................................................................................................................. 3...

推荐好看的编程字体

  一个好的编程字体通常需要满足几个基本条件:等宽字体,可以使代码对的整齐,看起来更整洁;其次能够准确区分  [‘i’, ‘1’, ‘l’] 、 [‘0′, ‘o’, ‘O’]、[Ww、Xx、Yy]等字符;最后是字符间距合适。除了上述客观标准,个人认为选择编程字体,一定是自己看着舒服的 。下面推荐一种编程字体:yahei consolas。微软雅黑(中文)...

苹果CMSv10_全站伪静态规则教程_宝塔Linux系统

苹果CMS又名MacCMS,是大多视频站长常用的视频网管理程序。 苹果CMS网站为了加强收录优化SEO,做静态的链接是最理想的。 伪静态有利于搜索引擎优化,更好的获得排名。 但是生成静态页面则会占用服务器大量的磁盘,以及影响服务器的运行速度。尤其是轻量配置的新站长,是极其不愿意看到的。 开始正题: 一、宝塔后台设置伪静态规则 填充宝塔伪静态规则:宝塔面板-...

在Win10中通过命令行打开UWP应用

近期由于需要在WinX菜单中添加几个UWP应用,但发现很难找到相应的命令行,Universal Apps的快捷方式属性里也没有。 于是到网上搜了很久才找到一个E文的页面,试了一下确实可行,分享给大家: 在文件夹地址栏输入shell:AppsFolder 找到你要提取命令的APP 在APP上点右键选“创建快捷方式”或直接拖放到桌面,都可以在桌面上创建一个此...

软件项目开发流程以及人员职责

实行软件工程项目管理: ▲ 项目经理(负责人):项目经理(负责人)对整个项目负完全责任,是指导、控制、管理和规范某个软件和软/硬件系统建设的人,项目经理(负责人)是最终对客户负责的人。 ▲ 软件项目经理(负责人):软件项目经理(负责人)对一个项目的所有软件活动负完全责任,控制一个项目的所有软件资源,按照软件约定与项目经理(负责人)打交道。 ▲ 软件工程组:...