使用cordova文件插件时如何从iOS导出文件?

Kev*_*vin 5 ios cordova cordova-plugins

我在iOS设备上使用https://github.com/apache/cordova-plugin-file,我正在尝试编写文件.我可以写文件,但根据iOS文件系统布局,我写的所有这些位置都是私有的.

我猜这是由于Apple的沙箱安全模型,所以每个应用程序只能看到自己的捆绑包中的文件.这在Android上不同,其cordova.file.externalRootDirectory位置不是私有的.

我的问题是: 如何从iOS设备导出此文件?

我正在撰写的文件包含我正在运行的Cordova应用程序捕获的一长串GPS位置.我可以在设备下的XCode中看到该文件,并导出整个容器以查看该文件.但必须有更好的方法来传输文件.是否可以将Cordova生成的文件从iOS设备传输到计算机 - 可能通过iTunes或iCloud?

我也试过使用cordova.file.syncedDataDirectory,我可以把文件写到那个位置就好了.但该文件未出现在我的iCloud帐户中.

jce*_*ile 7

你必须使用itunes文件共享

文件共享支持

文件共享支持允许应用程序在iTunes 9.1及更高版本中提供用户数据文件.声明其支持文件共享的应用程序使其/ Documents目录的内容对用户可用.然后,用户可以根据需要从iTunes将文件移入和移出此目录.此功能不允许您的应用与同一设备上的其他应用共享文件; 该行为需要粘贴板或文档交互控制器对象.

要为您的应用启用文件共享,请执行以下操作:

将UIFileSharingEnabled键添加到应用程序的Info.plist文件中,并将键的值设置为YES.

将您要共享的任何文件放在应用程序的Documents目录中.

当设备插入用户的计算机时,iTunes会在所选设备的"应用程序"选项卡中显示"文件共享"部分.

用户可以将文件添加到此目录或将文件移动到桌面.

支持文件共享的应用程序应该能够识别何时将文件添加到Documents目录并进行适当响应.例如,您的应用可能会从其界面中提供任何新文件的内容.您永远不应向用户显示此目录中的文件列表,并要求他们决定如何处理这些文件.

因此,将其添加UIFileSharingEnabled到info.plist并将其设置为YES

https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/CoreServicesLayer/CoreServicesLayer.html#//apple_ref/doc/uid/TP40007898-CH10-SW30