如何在 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?

在 PhoneGap Build 应用程序中使用正确的库和 scandit

PhoneGap build中如何维护手机app版本信息?

Phonegap build 本地发布版本(不含Phonegap Build)