Cordova Custom-URL-scheme 插件不工作

Cordova Custom-URL-scheme plugin not working

我唯一能找到的插件就是这个https://github.com/EddyVerbruggen/Custom-URL-scheme

我尝试安装它并检查它的 iOS 实现,它在 plugins/cordova-plugin-customurlscheme/src/ 里面是空的(没有找到 ios 文件夹,只有 androidwindow).我查看了plugins/cordova-plugin-customurlscheme/www/ios/LaunchMyApp.js,内容是:

"use strict";

/*
 Q: Why an empty file?
 A: iOS doesn't need plumbing to get the plugin to work, so..
    - Including no file would mean the import in index.html would differ per platform.
    - Also, using one version and adding a userAgent check for Android feels wrong.
    - And if you're not using PhoneGap Build, you could paste your handleOpenUrl JS function here.
*/

没有意义,按我的理解,应该在AppDelegate中实现func application(_application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:] ) -> Bool,但它是空的。在这种情况下,如何在 JS 中覆盖 handleOpenURL 会起作用?

我真的找不到其他的,谁能推荐类似的可用插件?我的场景是,当 A 应用程序调用 B 应用程序时,我的 B 应用程序是一个 cordova 应用程序,我需要一个 listener/callback 来捕获 url 内容。

已更新:

添加在MAF标签中,因为问题是由Oracle MAF框架引起的,没想到,认为问题来自Cordova。

它不应该在 iOS 中实现某些东西。自定义 URL 方案仅更新 iOS 中的 Info.plist。所以,没关系。它注册自定义 URL 方案。

要处理 URL 它们,您需要修改自己的代码。打开自定义 URL 时,插件如何知道您需要什么?

好的,我知道为什么https://github.com/EddyVerbruggen/Custom-URL-scheme

中没有这样的实现了

那是因为在cordova-iosCDVHandleOpenURL.m中已经包含了这样的实现,它会消费CDVAppDelegate.m发布的通知,而在CDVHandleOpenURL.m中,它将在 WebView JavaScript 命名空间中执行 handleOpenURL

我的应用程序无法运行的原因是,Cordova 被包裹在 Oracle MAF 框架中,它覆盖了 Cordova 提供的自定义 URL 机制,这不是我所期望的,所以我原问题中忘记提到MAF了,我会补充相关信息。

参考: https://docs.oracle.com/middleware/maf210/mobile/develop-maf/maf-ui-remote-url.htm#ADFMF24147