【问题标题】:Writing to the downloads folder in a sandboxed app写入沙盒应用程序中的下载文件夹
【发布时间】:2018-05-20 07:45:43
【问题描述】:

A related question asks how to write to the Downloads folder in a sandboxed app.

我有代码可以做到这一点并在我的最后工作。但是,在将我的应用程序提交到 App Store 后,Apple 告诉我只能写信给 /Downloads/[App-Identifier],不能写信给 /Downloads

什么是应用标识符?它是捆绑标识符吗?与此相关的文档在哪里?我查看了 App Store Review Guidelines(Apple 参考 2.4.5(i)),在 Sandbox 指南中,使用了 Google,......到目前为止没有运气。

【问题讨论】:

    标签: macos cocoa mac-app-store file-access appstore-sandbox


    【解决方案1】:

    App-Identifier 将是捆绑包 ID。至于写入~/Downloads 的子文件夹的限制来自哪里,我不知道(正如您发现的那样,它似乎不在审查指南、应用程序沙盒指南等中)。您可以查询评论,但换一种方式可能更容易...

    使用书签可能会更好,请参阅Security-Scoped Bookmarks and Persistent Resource Access,以及链接问题所暗示的权利。这也将允许您毫无疑问地直接存储到~/Downloads - 如果用户选择它(放置一个标准文件对话框,样式为权限请求,只允许文件夹,并预设显示主目录;如果您愿意,可以将选择限制为仅下载)。

    HTH

    【讨论】:

    • 我直接问苹果这个问题,他们可能很快就会回复。我使用书签,但我的应用程序有一个首选项窗格,询问用户是否要下载到自行选择的位置或默认到“下载”文件夹。谢谢顺便说一句。不过看起来有点奇怪,捆绑 ID 作为目录名称。特别是因为我的应用程序创建(并下载到)以 url 命名的目录 ...
    • 好吧,我被提到了this documentation
    • 他们给你的有用链接,虽然它没有提到下载的任何地方...... ;-(
    • 没有:P,但它does give an example 告诉他们如何做他们要求的事情。他们的消息是“这里你可以通过bundle ID和App ID等获取文件系统的一些信息。基本上,当应用程序将文件存储到音乐、电影、图片和下载文件夹时,应该是例如, ~/Downloads/[app-identifier]/[user file] 结构。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多