如何在IOS共享菜单中显示我的cordova应用程序?

时间:2017-06-30 09:59:23

标签: javascript ios xcode cordova ionic-framework

我们有一个现有的Cordova iOS应用程序,我们需要一个iOS共享扩展,允许用户使用我们的应用程序共享来自其他应用程序(如照片,页面,数字,主题演讲等)的文件(即从Pages导出文件)到我们的应用程序)。

我们需要提供以下内容:

  • 原型/示例iOS Cordova App
  • 为jpg,png,video,pdf和office(xls,xlsx,doc,docx,ppt,pptx)文件设置共享扩展程序
  • 扩展至直接打开Cordova应用程序或在共享小部件内打开Cordova应用程序作为webview
  • Cordova App必须从扩展程序接收有关共享文件(文件名,路径,类型,文件大小)的参数 - 之后对文件的处理将由我们完成。
  • 有关如何在我们现有的Cordova应用程序中实现此功能(共享扩展)的文档(在Xcode等中执行所需的步骤)

4 个答案:

答案 0 :(得分:1)

我认为您可以找到解决方案here。目前尚不清楚,但似乎有效。

答案 1 :(得分:1)

有一个跨平台的cordova插件(iOS和Android)可实现:https://github.com/j3k0/cordova-plugin-openwith

答案 2 :(得分:0)

这是一个很好且仍然相关的问题。

我试图利用Jean-Christophe Hoelt的精彩 cordova-plugin-openwith ,但遇到了几个问题。该插件用于接收在安装期间配置的一种类型的共享项(例如,URL,文本或图像)。此外,通过其当前实现,在Cordova应用程序中编写共享和选择接收器的注释是不同(本机和Cordova)上下文中的两个不同步骤,因此它对我来说看起来不是一个好的用户体验。

我对此插件进行了这些和其他更正,并将其作为单独的插件发布: https://github.com/EternallLight/cordova-plugin-openwith-ios

请注意,它仅适用于iOS,不适用于Android。

答案 3 :(得分:0)

即使您不想使用open with plugin

,也有一些链接可能会有所帮助

https://irace.me/tumblr-ios-extension

http://engineering.curalate.com/2017/03/09/ios-share-ext-with-ionic.html

在android编辑中,清单对我来说效果很好。我必须在已添加的某些插件中添加另一个Java文件,如下所述,在plugin.xml中。依次添加到清单中。

            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="image/*" />
                <data android:mimeType="application/pdf"/>
                <data android:mimeType="application/msword"/>
                <data android:mimeType="application/mspowerpoint"/>
                <data android:mimeType="application/powerpoint"/>
                <data android:mimeType="application/vnd.ms-powerpoint"/>
                <data android:mimeType="application/x-mspowerpoint"/>
                <data android:mimeType="application/excel"/>
                <data android:mimeType="application/vnd.ms-excel"/>
                <data android:mimeType="application/x-excel"/>
                <data android:mimeType="application/x-msexcel"/>
                <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
                <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
                <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation"/>
            </intent-filter>
        </activity>