Ibm mobilefirst IBM Worklight-AppCenter应用程序缺少插件';com.ibm.mobile.InstallerPlugin';

Ibm mobilefirst IBM Worklight-AppCenter应用程序缺少插件';com.ibm.mobile.InstallerPlugin';,ibm-mobilefirst,worklight-appcenter,Ibm Mobilefirst,Worklight Appcenter,我正在吃晚饭。我已经使用eclipse(AppCenter->Run As->Build All Environments)构建了IBM Worklight AppCenter客户端应用程序,在xcode(iphone->Run As->xcode项目)中打开它,并通过xcode在iphone emulator中运行该应用程序 在应用程序中输入我的Worklight server凭据(用户名、密码、服务器、端口、上下文)后,将显示“正在加载”消息,应用程序将停止运行 我已经通过应用程序的java

我正在吃晚饭。我已经使用eclipse(AppCenter->Run As->Build All Environments)构建了IBM Worklight AppCenter客户端应用程序,在xcode(iphone->Run As->xcode项目)中打开它,并通过xcode在iphone emulator中运行该应用程序

在应用程序中输入我的Worklight server凭据(用户名、密码、服务器、端口、上下文)后,将显示“正在加载”消息,应用程序将停止运行

我已经通过应用程序的javascript进行了调试,并将问题追溯到试图调用Cordova本机插件的应用程序:

cordova.exec(pSuccessCallback,                      // Success callback from the plugin
                     function(e){     
                        console.log("Error connecting to server [code, msg, status] = " 
                                + e.errorCode + ", "
                                + e.errorMsg + ", "
                                + e.httpCode);

                        pFailureCallback(e);
                     },                              
                     'com.ibm.mobile.InstallerPlugin',      // Tell cordova to run "com.ibm.mobile.InstallerPlugin" Plugin
                     'updateConnection',                    // Tell plugin, which action we want to perform
                     [pUsername, pPassword, pServerURL]);   // Passing list of args to the plugin         
此错误消息显示在xcode:IBMAppCenter[2315:70b]错误:方法“updateConnection:”未在插件“com.ibm.mobile.InstallerPlugin”中定义

实现此插件的本机库位于其预期位置,但应用程序似乎看不到它们-IBMAppCenter/apps/AppCenter/iphone/native/appCenterLib:

  • 调试iphoneos/libAppCenterInstallerLib.a
  • 发布iphoneos/libAppCenterInstallerLib.a
  • 调试iphonesimulator/libAppCenterInstallerLib.a
  • 发布iphonesimulator/libAppCenterInstallerLib.a
在应用程序中包含本机库是否需要其他步骤

非常感谢您的帮助。

InstallerPlugin中定义了“updateConnection”方法。我认为这只是InstallerPlugin调用的第一个方法,因此问题可能是您意外删除了installer插件

目录IBMAppCenter/apps/AppCenter/iphone/native/appCenterLib必须包含libAppCenterInstallerLib.a的不同版本:

  • 调试iphoneos/libAppCenterInstallerLib.a
  • 发布iphoneos/libAppCenterInstallerLib.a
  • 调试iphonesimulator/libAppCenterInstallerLib.a
  • 发布iphonesimulator/libAppCenterInstallerLib.a

updateConnection方法包含在libAppCenterInstallerLib.a中

如果缺少这些LIB,可以从IBM Worklight的原始安装目录中复制它们


在重新生成iphone或Android环境之前,请不要删除IBMAppCenter/apps/AppCenter的本机目录。如果删除本机目录,则删除所需的库,然后AppCenter客户端将无法正常工作

我通过升级到Worklight 6.1解决了这个问题

在Cordova的最新版本中,插件方法签名

通过使用以下命令提取libAppCenterInstallerlib.a来验证这一点:

ar-x libappcenter安装程序lib.a

然后运行:

nmibmappcenterplugin.o

查找initInfo或updateConnection方法。如果方法签名中有:withDict,则在Cordova的最新版本中不推荐使用


使用Worklight 6.1中的AppCenter项目,我不再看到此问题。

libAppCenterInstallerLib.a文件位于其预期位置。我更新了这个问题来反映这一点。但你为什么要写这个作为答案呢?删除它并编辑原始问题,或者如果需要,打开另一个问题