如何将文件保存到 iOS 的 Library/NoCloud 文件夹?

Posted

技术标签:

【中文标题】如何将文件保存到 iOS 的 Library/NoCloud 文件夹?【英文标题】:How to save a file to iOS' Library/NoCloud folder? 【发布时间】:2016-04-19 10:12:46 【问题描述】:

我正在使用 Cordova 开发一个应用程序,该应用程序应该使用 Phonegap 的插件内容同步 (https://github.com/phonegap/phonegap-plugin-contentsync) 下载文件。

我可以将文件下载到我的设备,但我需要将我的文件下载到 /Library/NoCloud 文件夹。

在我的config.xml 中,我设置了以下内容:

<preference name="iosPersistentFileLocation" value="Library" /> <preference name="BackupWebStorage" value="none" />

当我开始下载时,我还在控制台中看到了一些奇怪的东西。首先它引用了NoCloud文件夹,但是下载后,它似乎将我的文件存储在Library文件夹中......

这是我的 Xcode 控制台:

2016-04-19 11:37:35.284 Cravt B2B[581:609454] appPath file:///var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/NoCloud/image-3177 2016-04-19 11:37:35.310 Cravt B2B[581:609498] WARNING: Trusting host s3.eu-central-1.amazonaws.com 2016-04-19 11:37:35.311 Cravt B2B[581:609498] startDownload from https://s3.eu-central-1.amazonaws.com/cravt-ecommerce/production/spree/images/3177/large/890012.png?1441333372 2016-04-19 11:37:35.621 Cravt B2B[581:609498] Received challenge for host s3.eu-central-1.amazonaws.com 2016-04-19 11:37:36.754 Cravt B2B[581:609492] Moving /var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/890012.png to /var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/image-3177 2016-04-19 11:37:36.809 Cravt B2B[581:609492] Error copying. File might already exist Error Domain=NSCocoaErrorDomain Code=516 "“890012.png” couldn’t be moved to “Library” because an item with the same name already exists." UserInfo=NSSourceFilePathErrorKey=/var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/890012.png, NSUserStringVariant=( Move ), NSDestinationFilePath=/var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/image-3177, NSFilePath=/var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/890012.png, NSUnderlyingError=0x13d6aef20 Error Domain=NSPOSIXErrorDomain Code=17 "File exists" 2016-04-19 11:37:36.812 Cravt B2B[581:609492] Task: /var/mobile/Containers/Data/Application/D4676843-6E27-48DF-B1AC-5459C3383649/Library/image-3177 completed successfully

有人知道我做错了什么吗?

【问题讨论】:

您可以发布代码以进一步调查吗? 【参考方案1】:

我建议使用 cordova-plugin-file 而不是 phonegap-plugin-contentsync,因为前者会将文件写入 NoCloud。

【讨论】:

以上是关于如何将文件保存到 iOS 的 Library/NoCloud 文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像文件夹保存到iOS应用程序[重复]

iOS将表单数据保存到多个文件

将音频流保存到 mp3 文件 (iOS)

如何使用 react native 将 pdf 文件保存到文件系统(ios/android),可以在应用程序外部访问

如何将文档文件保存到 iOS 中的 SQLite 数据库,以便稍后在程序中查看它们?

如何保存录制的音频iOS?