2013-12-17 3 views
2

У меня есть same problem as this user. Я создал клиентское приложение IBM Worklight AppCenter, используя eclipse (AppCenter -> Run As -> Build All Environments), открыл его в проекте xcode (iphone -> Run As -> Xcode) и запустил приложение в эмуляторе iphone через xcode.IBM Worklight - приложение AppCenter отсутствует Плагин 'com.ibm.mobile.InstallerPlugin'

После ввода учетных данных сервера Worklight в приложении (имя пользователя, пароль, сервер, порт, контекст) отображается сообщение «Загрузка», и приложение перестает функционировать.

Я отлажена через JavaScript в приложениях и проследить проблему к приложению пытаюсь выполнить вызов в Кордова родной плагин:

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:

  • Debug-iphoneos/libAppCenterInstallerLib.a
  • релиз-iphoneos/libAppCenterInstallerLib.a
  • Debug-iphonesimulator/libAppCenterInstallerLib.a
  • релиз-iphonesimulator/libAppCenterInstallerLib.a

Есть ли дополнительные шаги, необходимые для включения собственных библиотек в приложение?

Любая помощь была бы принята с благодарностью.

ответ

2

Метод «updateConnection» определен в InstallerPlugin. Я думаю, что это просто первый метод, который нужно вызвать из InstallerPlugin, поэтому проблема может заключаться в том, что вы случайно удалили плагин установщика.

Каталог IBMAppCenter/приложения/AppCenter/iphone/родной/appCenterLib должны содержать различные версии libAppCenterInstallerLib.a:

  • Debug-iphoneos/libAppCenterInstallerLib.a
  • релиз-iphoneos/libAppCenterInstallerLib.a
  • Debug-iphonesimulator/libAppCenterInstallerLib.a
  • релиз-iphonesimulator/libAppCenterInstallerLib.a

Метод updateConnection содержится в libAppCenterInstallerLib.a.

Если эти библиотеки отсутствуют, вы можете скопировать их из исходного каталога установки IBM Worklight.

Прежде чем восстанавливать среду iphone или Android, никогда не удаляйте родные каталоги IBMAppCenter/apps/AppCenter. Если вы удалите родные каталоги, вы удалите эти необходимые библиотеки, а затем клиент AppCenter не работает.

+0

Файлы libAppCenterInstallerLib.a находятся в ожидаемых местах. Я обновил вопрос, чтобы отразить это. – benand

0

Мне удалось исправить это, обновив до Worklight 6.1.

В последних версиях Кордова, метод Plugin подписи has changed.

Verify это путем извлечения libAppCenterInstallerlib.a с:

ар -x libAppCenterInstallerlib.a

затем запустить:

нм IBMAppCenterPlugin.o

искать метод initInfo или updateConnection s. Если у них есть: withDict в сигнатуре метода, то это устарело в последних версиях Кордовы.

Использование проекта AppCenter из Worklight 6.1, я больше не вижу этой проблемы.

+0

Но почему вы пишете это как ответ? Удалите его и отредактируйте исходный вопрос или, если хотите, откройте другой вопрос –

Смежные вопросы