什么是iOS沙盒?我能在一个应用和另一个应用之间传输数据吗?

15
4个回答

27

来自iOS环境

出于安全原因,iOS在安装时将每个应用程序(包括其首选项和数据)放置在一个沙盒中。沙盒是一组细粒度控件,限制应用程序对文件、首选项、网络资源、硬件等的访问。作为沙盒化过程的一部分,系统会将每个应用程序安装在其自己的沙盒目录中,该目录充当应用程序及其数据的主目录。

从一个应用程序传输数据到另一个应用程序的一种解决方案是通过URL Scheme


嗨@CarlJ,我正在寻找苹果官方关于沙盒的文档。你提供的链接现在已经失效了。你知道这份文档被移动到哪里了吗? - Mig82
由于某些原因,我找不到任何苹果官方文档来解释应用程序沙盒。然而,我在一本在线书籍中发现了同样的陈述 - Mig82
@Mig82这个怎么样:https://developer.apple.com/app-sandboxing/? - CarlJ
2
@CarlJ 我之前找到过这些文档,但是似乎没有一个与 iOS 相关。它们都是与 MacOS 相关的。 - Mig82

6
移动设备应用程序开发人员使用iOS的沙盒功能来确保用户数据的安全,并确保应用程序不与安装在同一设备上的其他应用程序共享数据。
沙盒为每个应用程序形成并维护了一个私有的数据和信息环境。
沙盒可以最小化潜在黑客造成的损害,但无法防止攻击发生。
尽管苹果已经在iOS中构建了强大的沙盒功能,但开发人员需要确保他们的应用程序编写得安全可靠。
当应用程序安装在移动设备上时,系统会为其创建一个唯一的目录。
沙盒只能防止被劫持的应用程序影响其他应用程序以及系统的其他部分。

2

iPhone应用程序都是沙盒化的,这意味着应用程序之间没有文件共享。

虽然有一些方法可以在应用程序之间传输数据,但非常有限。请查看URL方案。

http://wiki.akosma.com/IPhone_URL_Schemes


2

默认情况下,应用程序是在沙盒中运行的。您不必担心手动将其放入沙盒中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接