2014-02-21 50 views
1

我的应用程序沙盒权利有问题。Mac OS在应用程序沙箱权利目录中读取问题

我的Mac OS应用程序允许用户打开一个XML文件。当该文件被解析时,它将读取与XML文件位于同一目录中的图像文件。

如果App Sandbox是False,则图像加载得很好。 如果App Sandbox为True,则图像加载失败。 (XML文件仍然被读取)

应用程序沙盒必须为True才能推送到App Store。

我已经试过

com.apple.security.files.user-selected.read-write = TRUE 
com.apple.security.temporary-exception.files.home-relative-path.read-only = TRUE 
com.apple.security.temporary-exception.files.absolute-path.read-only = TRUE 

我把从Apple的文档这样的信息:Apples Entitlement Doc

有没有办法,我可以读这两个文件的方法吗?其他人遇到这样的事情?

此外,这两个文件可以在用户通常保存文件的任何位置。包括网络驱动器。

+0

我完全不理解你的问题。或者它只是我的愚蠢?用户选择的XML文件与图像文件有什么关系?读取图像文件是什么意思?访问图像文件,然后是什么?你用这些temparary-exception权利玩什么目的? –

+0

用户将打开一个XML文件。 XML文件具有相应的图像。它是精灵表和它的地图集文件。我可以在没有App Sandbox的情况下阅读XML文件和图片。如果打开了,我只能读取XML文件。 –

回答

0

号为了要读取的文件,它必须是:

  • 在这个世界可读位置,或
  • 在可以在授权的喜好启用的文件夹,即Downloads文件夹,或
  • 手动打开或通过使用NSOpenPanel用户后,它可以任选地是
  • 存储为安全范围的书签,在这之后可自由访问保存到。请参阅here
+0

呃。所以我最好的选择是一起绕过Mac App Store?我的用户可能会保存到不直接位于标准文件夹中的位置。 –

+0

不一定。您可以修改代码以使用安全范围的书签,使用类似于“NSDictionary”或核心数据的内容来将文件路径与其安全范围的书签相关联,然后将该数据保存到应用容器或“NSUserDefaults”中的文件中在应用程序的下一次运行中恢复活力。 – SevenBits

+0

哎呀。这似乎有一点涉及。知道任何教程? –

相关问题