【问题标题】:Specific constraints of iOS sandboxingiOS沙盒的具体限制
【发布时间】:2012-10-16 20:15:02
【问题描述】:

我想读取 iPhone 音乐目录中的文件:

~/Media/iTunes_Control/Music/F**/*.{M4A,MP3}

1) 我似乎无法从文档中确定 iOS 应用程序是否经过沙盒处理,因此我是否会获得此权限。

2) 是否需要请求对 iOS App 沙箱之外的目录的读取或写入权限?只写权限?如何做到这一点,还是仅由审核应用商店发布的团队自行决定?

3) 我在苹果文档中找到了很多关于 OS X 应用程序沙盒的信息,而不是 iOS 应用程序的沙盒信息。 iOS 是否有与 OS X 应用程序类似的沙盒/权利流程?我应该阅读任何有用的链接吗?

更新:正如下面接受的答案所说,1,2 和 3 是不可能的,但是可以在媒体库中获取文件的副本,这在某种意义上相当于对原始文件具有读取权限 -因为当然数字信息是相同的。此问题包含执行此操作的代码: Application crashed while importing songs from Ipod library in Iphone for iOs 5.0

【问题讨论】:

  • 终于找到了关于 3) 的一些信息 - 来自授权密钥参考:“设置授权值以启用 iCloud、推送通知和 App Sandbox(仅适用于 OS X)。”
  • 使用 App Sandbox,您的应用程序可以访问... POSIX 世界可读的位置... 因此,OS X 应用程序似乎可以读取 iTunes 音乐目录而无需授权. iPhone 音乐文件的路径同样是 POSIX 世界可读的,所以看起来不错,除非应用商店评论者认为它不是,我猜。
  • 奇怪的是,权利密钥参考定义了对音乐文件夹的读取访问权限,即使临时权利部分对 POSIX 世界可读位置进行了上述声明。这些似乎有冲突。
  • 啊,另一部分说“某些世界可读”的位置,包括 /bin、/sbin、/usr/bin、/usr/lib、/usr/sbin、/usr/share、/System [this全部适用于 OS X]

标签: ios macos permissions media sandbox


【解决方案1】:
  1. 您将无权在您的应用程序之外进行读/写。
  2. 您将无权在您的应用程序之外进行读/写。
  3. 您将无权在您的应用程序之外进行读/写。

您可以使用Media Player framework 访问有关用户库的信息,但不能使用文件系统。

【讨论】:

  • 真的没有读过你确定吗?有推荐的参考文档吗?
  • 检查我的答案链接的媒体播放器框架。您可以使用它来访问来自 iPod 应用程序的信息。
  • 虽然您无法从媒体目录中读取内容,但您可以让 iOS 框架为您执行此操作并为您提供文件副本 - 请参阅我对问题的编辑。
【解决方案2】:

iOS 上的沙盒已为您完成,无需设置。

您不能在应用程序沙箱之外写入文件。

我没有尝试访问 iPod 应用程序存储的音乐,但可以访问媒体类型。它的功能很像访问照片。

这是link to the Apple docs 的MPMediaPickerController。

【讨论】:

  • @Colin Cool。 MPMediaPicker 应该允许您访问音乐。
猜你喜欢
  • 2018-04-15
  • 2013-05-08
  • 2012-04-30
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
  • 2014-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多