【问题标题】:Can I add a file to iCloud via my Mac and use the file within an iOS application我可以通过我的 Mac 将文件添加到 iCloud 并在 iOS 应用程序中使用该文件吗
【发布时间】:2015-08-15 07:45:23
【问题描述】:

我正在使用 Xcode 6.3.2 为 iOS 8.3 开发一个应用程序,该应用程序需要从用户的 iCloud 帐户中提取 CSV 文件。这些电子表格将由单独的系统生成并保存到用户的 iCloud Drive 文件夹中(将有多个电子表格,用户将在应用程序中输入一个确定应该访问哪个电子表格的密钥字符串),这样做的方法将处理我的客户,除非它不能以特殊方式完成,否则不相关。应用程序本身需要获取一个密钥字符串并在用户的 iCloud 驱动器中搜索该文件,如果存在则获取文件的内容,如果可能,将其保存在本地,以便即使 iCloud 驱动器不可用也可以访问它。

当前应用程序使用应用程序包中的本地 CSV 文件(我已经复制到我的 Xcode 项目中的文件),所以现在我需要集成 iCloud 功能。

已解决: 我已经阅读了各种教程,这些教程向您展示了如何向/从 iCloud Drive 上传和下载,尽管我仍然对它的工作原理有些困惑。这让我提出了一个问题。

  1. 我的应用程序是否只能访问由应用程序本身保存到 iCloud 的文件。或者,例如,如果我通过 iMac 上的 Finder 将 CSV 文件添加到 iCloud Drive,然后我可以从我的应用程序中访问这些文件吗?如果可以,我将如何处理?

我目前假设问题一的后者是正确的,但是我现在担心我误解了它的工作原理(因此问题一)。我已经将应用程序设置为使用 iCloud——它成功地获取了无处不在的 URL,但是在查询任何 CSV 文件时它什么都不返回。我目前正在使用模拟器并已阅读它应该可以工作,尽管其他消息来源表明它不会,在模拟器上我使用适当的 Apple ID 登录并启用了 iCloud Drive - 但是我放置在我的 iCloud Drive 文件夹中的文件在我的 iMac 上不可见。关于问题 2...

  1. iCloud 文档存储是否可以在 iOS 模拟器上使用,如果可以,我需要做些什么来启动同步以获取我放在 iMac 的 iCloud Drive 文件夹中的 CSV 文件。

编辑:我做了一些进一步的挖掘并设法让 iCloud 在实际设备上工作 - 我猜这回答了问题 2:iCloud 文档存储在 iOS 模拟器上无法正常工作。我还看到教程或屏幕截图表明我对问题 1 的假设是正确的。

现在,当我在 iPad 上转到“设置”>“iCloud”>“存储”>“管理存储”以及“系统偏好设置”>“iCloud”>“管理”时,我可以看到我的应用程序将文档存储在 iCloud 中。我可以看到数据存在,但是当我导航到 Finder > iCloud Drive 时我看不到我的应用程序文件夹。我需要做的是将文件放到我 Mac 上 iCloud Drive 中的应用程序文件夹中,以便可以通过我的应用程序读取它们。我读到只需将“文档”文件夹附加到我的普遍 URL 的末尾即可使其在 finder 中可见,但这并没有奏效。这将我引向问题 3:

  1. 我需要做什么才能使我的应用程序特定的 iCloud 文件夹在我的 Mac 的 Finder 窗口的 iCloud Drive 文件夹中可见?

【问题讨论】:

    标签: ios icloud


    【解决方案1】:

    花了一点时间,但我自己设法解决了这个问题,我会将解决方案发布给其他为此苦苦挣扎的人。

    1. 应用程序将创建自己的 iCloud 容器,该容器在管理 iCloud 文档时可见,但默认情况下不会在 Mac 或 icloud.com 上的 iCloud Drive 文件夹中可见。通过对 info.plist 文件添加一些内容,应用程序的 iCloud 文件夹可以在 Finder 中可见(参见答案 3)。

    2. 在模拟器上测试时,我根本看不到任何同步的文档,在移动到 iPad 后,我可以看到来自我的应用程序和其他应用程序(例如 TextEdit)的文档。这让我相信 iCloud 功能在 iOS 模拟器上无法正常工作。也许它可以通过手动将文件添加到适当的容器文件夹来工作 - 但实际上这还不足以进行全面测试。

    3. 如上所述,公开应用程序的 iCloud 文件夹需要对 info.plist 文件进行一些添加。在 Xcode 6.3.2 中,这将如下所示(根据需要设置模糊的捆绑标识符和 ContainerName,并分别增加捆绑版本和捆绑版本字符串):

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多