如何在 phonegap build 中使用 iTunes 文件导入/导出功能
Posted
技术标签:
【中文标题】如何在 phonegap build 中使用 iTunes 文件导入/导出功能【英文标题】:How to use iTunes file import/export function with phonegap build 【发布时间】:2014-05-27 09:07:04 【问题描述】:我正在使用 apache cordova 和 adobe phonegap build 构建一个小应用程序。
我已经为 html5 文件 api 文件系统添加了 filer.js 包装器,它就像一个魅力。 我可以在应用程序中编写、列出和打开我的文件。
我需要做的是使用 iTunes 和底座电缆(没有 wifi 或互联网可用)检索文件。
我尝试了很多配置,但无法让我的应用出现在我可以从中获取文件的应用列表中。
到目前为止,我的 config.xml 文件配置是:
<feature name="http://api.phonegap.com/1.0/file"/>
<preference name="UIFileSharingEnabled" value="true" />
<preference name="iosPersistentFileLocation" value="Compatibility" />
<key>Plugins</key>
<dict>
<key>File</key>
<string>CDVFile</string>
</dict>
<key>Plugins</key>
<dict>
<key>FileTransfer</key>
<string>CDVFileTransfer</string>
</dict>
此应用仅适用于 iPad 上的 ios。
任何想法将不胜感激。谢谢
【问题讨论】:
【参考方案1】:我相信这只能通过 cordova 插件来完成,因为只有插件才能修改 plist 文件。以下是我使用 cordova 4.3.0 所采取的步骤:
在你的cordova项目之外的某个地方创建你的插件目录,比如说在/home/user/中。该插件仅包含一个文件,目录结构如下所示:
/home/user/com.mycompany.cordova.itunesfilesharing/
/home/user/com.mycompany.cordova.itunesfilesharing/plugin.xml
在插件目录下需要plugin.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id="com.mycompany.cordova.itunesfilesharing"
version="1.0.0">
<name>Enable iOS iTunes file sharing in Plist file</name>
<description>iOS plugin for a custom Plist addition</description>
<platform name="ios">
<config-file target="*-Info.plist" parent="UIFileSharingEnabled">
<true/>
</config-file>
</platform>
</plugin>
然后你需要把这个插件添加到你的cordova项目中:
cordova plugin add /home/user/com.mycompany.cordova.itunesfilesharing
这会将插件复制到您的 cordova 项目中。添加后,您将看到这些已添加到您的 plist 文件中:
<key>UIFileSharingEnabled</key>
<true/>
这就是我所要做的,不需要更改 config.xml。只需添加自定义插件。然后这样的应用程序将允许访问它在 iTunes 中的 Documents 目录。
【讨论】:
以上是关于如何在 phonegap build 中使用 iTunes 文件导入/导出功能的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Phonegap Build 删除 iOS 状态栏?
如何使用 Phonegap 命令行工具为 iOS 发布 Build?
如何开始使用带有 Durandal SPA 应用程序的 Phonegap Build?