iOS-更改iCloud容器名称

时间:2019-03-10 15:10:22

标签: ios icloud icloud-drive

在开发阶段,我一直在使用iCloud容器而没有问题。 到目前为止,容器应用程序具有默认的NSUbiquitousContainerName,使用该应用程序的捆绑包。

现在,我想为iCloud Drive中显示的文件夹提供一个更友好的名称,因此我将NSUbiquitousContainerName值更改为我的应用程序的名称。

<key>NSUbiquitousContainers</key>
<dict>
    <key>container-id</key>
    <dict>
        <key>NSUbiquitousContainerIsDocumentScopePublic</key>
        <true/>
        <key>NSUbiquitousContainerName</key>
        <string>AppName</string>
        <key>NSUbiquitousContainerSupportedFolderLevels</key>
        <string>Any</string>
    </dict>
</dict>

然后我改变了内部版本号,并运行该应用程序。 我使用以下文件夹导出文档:

FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents")

仍然将文档导出到旧文件夹,而不是新文件夹。 我该怎么做才能重命名容器的文件夹?

3 个答案:

答案 0 :(得分:0)

我设法解决了创建新容器并使用该容器而不是默认容器的问题。

答案 1 :(得分:0)

如果更改容器名称,则应增加内部版本号。

答案 2 :(得分:0)

我在使用iOS 13时遇到了同样的问题。它似乎缓存了旧的文件夹名称(应用程序图标图像也用作iCloud文件夹图标的覆盖)。

使用已经与旧容器名称一起使用的iCloud帐户时,在plist中更改NSUbiquitousContainerName不会产生影响,但是与iCloud帐户一起使用时我得到了新的文件夹名称(和新的应用程序图标)以前从未连接到应用程序。

即使在新设备上运行应用程序并从iCloud删除旧文件夹时,该缓存仍然存在。