【问题标题】:How to show my cordova app in IOS share menu?如何在 IOS 共享菜单中显示我的 Cordova 应用程序?
【发布时间】:2017-12-04 06:05:33
【问题描述】:

我们有一个现有的 Cordova iOS 应用程序,我们需要一个 iOS 共享扩展程序,它允许用户与我们的应用程序共享来自其他应用程序(如照片、Pages、Numbers、Keynote 等)的文件(即从 Pages 导出文件到我们的应用程序)。

我们需要交付以下物品:

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

【问题讨论】:

  • @ChrisG:- 我已经在 android 中完成了。但我在 iOS 上有困难。
  • 对,对不起,我读了“cordova”,不知何故马上跳到了“Android”。
  • 嗨@harish,你可以参考这篇博文并在那里更新你的cmets。 divami.com/blog/…
  • 我@harishmahajan,你有没有对实现的图像共享扩展有任何回应?

标签: javascript ios xcode cordova ionic-framework


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      我尝试使用 Jean-Christophe Hoelt 的出色 cordova-plugin-openwith,但遇到了几个问题。该插件旨在接收在安装期间配置的一种类型的共享项目(例如,URL、文本或图像)。此外,在当前的实现中,在 Cordova 应用程序中编写要共享的便笺和选择接收器是不同(本机和 Cordova)上下文中的两个不同步骤,因此对我来说这不是一个好的用户体验。

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

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

      【讨论】:

        【解决方案4】:

        即使您不想使用 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>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-06-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-29
          相关资源
          最近更新 更多