首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSDocumentController openDocument:面板不再允许访问OSX10.11El Capitan中的app iCloud容器

NSDocumentController openDocument:面板不再允许访问OSX10.11El Capitan中的app iCloud容器
EN

Stack Overflow用户
提问于 2015-10-08 22:03:44
回答 2查看 273关注 0票数 2

我有一个OS / iOS应用程序,它使用旧风格的无处不在的容器id TEAMID.com.companyname.product,是使用OS上的NSDocument和iOS上的UIDocument构建的。

使用内置的NSDocumentController openDocument:面板,文件打开在OSX10.8、10.9和10.10上运行良好。在10.10,这个面板被苹果扩展到允许iCloud驱动器访问。在面板的顶部,标题为“iCloud库”的选择器显示“Appname-iCloud”和“iCloud驱动器”作为选项。选择前者可以访问App容器中的文档,而后者则显示可用的iCloud驱动器文件夹。

在10.11ElCapitan中,选择“Appname- iCloud”-视图不会改变(您可以看到iCloud驱动器文件夹的顶层视图)。没有任何警告信息。在侧栏中选择iCloud下的Appname具有相同的结果。

考虑到应用程序的性质(数据是私有的,并且不是为任何其他应用程序所设计的),因此不太理想地将无处不在的文件夹公之于众--所以我不希望沿着这条路走下去。

主要的工作是在请求面板中搜索适当的文件类型(类别),并选择Search: This Mac --这很好,就像从前面打开的URL中保存的URL一样。因此,应用程序沙箱并没有造成问题。

显然,我希望10.10的行为能够继续下去--但不明显的是如何实现这个目标,或者它是否是一个bug。苹果可能认为,所有使用NSDocument构建的应用程序都希望将其应用程序容器公之于众。

EN

回答 2

Stack Overflow用户

发布于 2015-10-21 00:11:06

这个问题似乎是OSX10.11中的一个缺陷,并且标准的NSDocument文件打开/保存/移动面板无法强制进入旧的行为。然而,一个相当简单的解决方案是提供两个新的应用程序菜单项:

  • Open iCloud列出(私有)无处不在容器中的所有可用文档,
  • 使用[NSDocument moveDocumentToUbiquityContainer:]迁移到iCloud
票数 0
EN

Stack Overflow用户

发布于 2015-11-02 02:45:02

您需要通过将以下内容添加到您的iCloud文件中,使应用程序info.plist容器公开。

代码语言:javascript
运行
复制
<key>NSUbiquitousContainers</key>
    <dict>
        <key>HHWT75NS6T.au.com.ossh.appName</key>
        <dict>
            <key>NSUbiquitousContainerIsDocumentScopePublic</key>
            <true/>
            <key>NSUbiquitousContainerSupportedFolderLevels</key>
            <string>None</string>
        </dict>
    </dict>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33026700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档