无法在 IBM MobileFirst 6.3 中调用 window.plugins

Not able to call window.plugins in IBM MobileFirst 6.3

我正在使用 MobileFirst 6.3。我无法调用 window.plugins.XXX(我想将 SSLcertificateChecker 用作 XXX)。但是 window.plugins 未定义。

我想将 https://github.com/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin 中的 SSLCertificateChecker phonegap 插件包含到我的 worklight 项目中。

  1. 首先我尝试了 iOS。我正在手动添加所有文件。

  2. 已添加

    <feature name="SSLCertificateChecker">
        <param name="ios-package" value="SSLCertificateChecker" />
    </feature> in config.xml
  1. 向 Security.framework 添加依赖项,并将 SSLCertificateChecker.* 复制到插件文件夹

但在实施过程中 window.plugins 未定义。无法继续。

它应该按照我提供的相同说明工作 in this answer,只是根据您的说明进行了调整。

注意:我在那里写的警告同样适用于这里。即:在 MobileFirst Studio 中执行的每个构建都会重新生成文件 cordova_plugins.js,因此您将丢失将在此文件中执行的所需更改,并且您将需要一遍又一遍地重新执行它们再次.

一个可能的解决方案是升级到即将发布的 MobileFirst Platform Foundation 7.1,它引入了对另一种 class 应用程序类型的支持 - Cordova 应用程序,将 MobileFirst SDK 作为插件集成-in,从而使您能够像在任何基于 Cordova 的应用程序中一样使用 Cordova Plug-man(或任何其他方法)安装 3rd 方插件。 7.1 之前的版本不支持 Cordova Plug-man。否则,您只需要围绕它寻找构建技巧。


工作室

config.xml

  1. 将插件声明添加到your-app\iphone\native\config。xml

index.html

  1. 将以下内容添加到 header 元素:

    <script type="text/javascript" src="js/SSLCertificateChecker.js"></script>
    

SSLCertificateChecker.js

  1. 确保将 SSLCertificateChecker.js 文件放在 your-app\common\js 文件夹中。

  2. 编辑文件。

    • 在顶部添加:

      cordova.define("nl.x-services.plugins.SSLCertificateChecker", function(require, exports, module) {
      
    • 在底部添加:});

建造

  1. 在 MobileFirst Studio 中构建项目并在 Xcode
  2. 中打开它

Xcode

  1. 在构建阶段添加所需的 Security.framework(但它很可能已经存在)

  2. 右键单击项目根文件夹,select "Add Files to..." 并复制提供的 .h 和 .m 文件

  3. 导航到 native\www\default\worklight\cordova_plugins.js 并添加以下内容。这也是您每次在 MobileFirst Studio 中进行构建时都必须重新编辑的文件...

    {
        "file": "../js/SSLCertificateChecker.js",
        "id": "nl.x-services.plugins.SSLCertificateChecker",
        "clobbers": [
            "window.plugins.sslCertificateChecker"
        ]
    },
    
  4. 运行 在 iOS 模拟器或设备上。