'WLAuthorizationManagerPlugin' not found, or is not a CDVPlugin - ibm-mobilefirst

I have a hybrid app I am building for iOS. It uses Adapter authentication which has been working fine.
I recently updated from MobileFirst Studio 6.3 to 7.0. At the same time, I updated Xcode to version 6.3. My app continues to work fine and authenticates with the backend fine when run through the Browser Simulator, but running on a simulator or real device from Xcode, I get a connection timeout error. The console contains this: ERROR: Plugin 'WLAuthorizationManagerPlugin' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
I see lots of questions on SO for "plugin not found or is not a CDVPlugin", but since this is a MobileFirst plugin, I wouldn't expect it to suddenly go missing. Could this be fallout from the update?

Is this a sample project from the MFP Developer Center, or an application of your own.
Either way, you can create a new project and add the iPhone environment and compare your project's native\config.xml with the new project's native\config.xml and correct yours accordingly.

Related

MobileFirst Version Mismatch

FWLSE3210W: Environment: android of application BBQ version 1.0 has
been deployed with a different version of the native MobileFirst SDK.
Direct updates will no longer be available for existing clients with
other versions of the MobileFirst SDK. To continue to use direct
updates, increment the app version, publish it to the public app
store, deploy to the server, and (optionally) block/notify older
versions of the app to enforce customers to upgrade to the new version
from the app store.
I am seeing the above warning again and again. And it doesnt seem to be related to the version difference between my worklight studio and worklight server.
I have created a MobileFirst Project in MobileFirst 6.3.
I have a remote MobileFirst 6.3 server.
When I deploy the iphone wlapp file first through the worklight console it goes through successfully but when I deploy the android wlapp file of the same app, it shows me the above warning and similar thing happens when I upload the android wlapp file first no issue but when iphone wlapp file is uploaded it shows the warning. Could someone tell me what this warning really is?
This is a false-positive warning message that you can safely ignore.
If you'd like it gone you can also download the latest MobileFirst Platform Foundation 6.3 iFix from IBM Fix Central where it has been fixed.

Worklight 6.1 - App Center Mobile Client error

I'm currently trying to build the mobile client for IOS. There are 2 issue currently lingering:
The mobile client will be used for user to download the app from our test server. When i build, i run the Build Setting and Deploy Target script and tick the checkbox to deploy for another server. However i'm not sure the context path need to be put as what, the current default is /IBMAppCenter
When i try run the app center in the XCode simulator, the app center keep running with a loading icon. I check the log and found that it says:
ERROR: Plugin 'com.ibm.mobile.InstallerPlugin' not found, or is not a CDVPlugin.
Check your plugin mapping in config.xml
I check my native folder (ipad\native\CordovaLib) and true enough, the CDVPlugin was not in the plugin folder, but when i look into the Classes folder, the header (.h) and implementation (.m) files are there. How should i configure to make it work?
Any help is appreciated. Thanks.
About question 1:
The deploy target is irrelevant. It is only relevant for "normal" Worklight applications that are managed by a Worklight Console (so you must specify on which server your Worklight Console runs). But the Application Center client is not managed by any Worklight Console. All what you do is to build the environment, create the IPA and upload it to the Application Center server. Therefore, please only use the "Build all environments" menu item and ignore anything with deploy target!
See here: http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/index.jsp?topic=%2Fcom.ibm.worklight.appadmin.doc%2Fappcenter%2Ft_ac_proj_imp_build.html
About question 2:
The Application Center mobile client for iOS should be in the iphone environment, not in the ipad environment. The code in the iphone environment folder should work for ipad as well but you cannot generate an ipad environment for the Application Center client, as well as you cannot delete the iphone environment and regenerated it via File > New > Environment, because when you do that, the libAppCenterInstallerLib.a gets deleted. You must take the project as it was in your original installation.
Please check IBMAppCenter/apps/AppCenter/iphone/native/appCenterLib. This should contain subdirectories (for Release, Debug ...) which contain libAppCenterInstallerLib.a. The error message that you see means that it cannot find this library; probably because you deleted the iphone environment or because you attempted to create an ipad environment.

Tips/help to debug no apk file

My environment :
Eclipse sdk 3.7.2
Worklight pluin 5.0.5
Android sdk 2.2
First I tried a simple Hello World, everything works fine, android native project was created and I see the corresponding apk file was generated after a build and deploy.
Next I imported a sample project, successfully got it run on the test (localhost) server, able to see the expected result on the android Mobile Browser Simulator but the problem now is I am not seeing the corresponding android apk file got generated (the android native project was created). No errors on the logs, Any idea what could be the problem? How one debug such a problem.
APK will be generated under \bin\ folder once you run your app for the first time.
Connect your Android device to dev machine via USB cable (assuming you got Android SDK etc installed), right click on Android project and do Run as->Android app.
The app will be installed and started on Android device. APK will be generated in \bin folder.
In general, you don't need the device, same thing can be done with emulator.
You can also do an export on the android application project. This is what you would do if you are looking at doing some key signing. This is the way you would want to export it if you are uploading to Google play or an enterprise app store.
Keep in mind, Worklight doesn't build your .ipa, .apk, or etc. It builds you compile ready resources. It will build you the folder structure and the project layers needed to build in the corresponding Native Environment (for apple, you would export to xcode, build it, and run).

Using Worklight JSONStore

I am not that new to Worklight, but the JSONStore is a new feature and I'm trying to learn how to use it. I downloaded the sample app (module_07_10_Using_JSONStore.zip) and installed it in my development environment, ran build and deployed it.
When I preview the app (as Android) in the Mobile Browser Simulator, and run through the sequence of Initialize the Collection, Add a Document, and then try to Find by Name, Find All, or get Number of Documents in Collection - I do not see the table at the bottom of the screen that displays the input data. I don't see any errors in the WL console. In the Android console, I get the error messages:
Unable to resolve target 'android-8'
WARNING: unable to write jarlist cache file - and then it points to location of jarlist.cache in the module.
I did not make any changes to the code. I looked it over, compared it to the education module content, and I don't see the problem. Any thoughts? Clues? Your help is appreciated. Thanks.
JSONStore is not supported in the Mobile Browser Simulator, it must run on an Android or iOS device or simulator, if you run it on the Android simulator it should work just fine.

iOS Application update with one Localization language removed

I'm working about one application for iOS. Application is already on App Store. But in new version, I have to remove one from Localization languages (Germany). After this, i observed very strange behaviors: When i deploy application on my phone without old version previous application, then everything is okay - if i has iOS set to Germany, application is in English. But when i deploy it when old version is already installed, then application does not show English translation, but only keys form unexisting Germany version ("terms_header" and so...).
My question is: How application will behave, when i send new version to App Store, and users will updates their phones to new version of my application?
When you update the application on any iOS device, it's bundle resources always get updated. However you can test the scenario using
- Install old application from xcode with localization
- Test if localization is working properly
- Update application with new build from xcode
- Re-test the application by changing language.
During updates only user generated data stay intact and bundle resources get updated.
What happens if you remove the application from the organiser and then reinstall it?
Ok, i found it. There is the way to check, how application will behave when is updatet from App Store:
Remove application from device
Generate Archive from old version of your app via Xcode (Product->Archive)
Distribute archived application as Ad-Hoc Deployment
Repeat points 2 and 3. for NEW version off your application.
Put .ipa file with old version of your app into iTune.
Install it on you device via iTune and synchronize device.
Check old version of application on you device.
Put .ipa file with new version of your app into iTune.
Press "Update" in iTunes, and synchronize device.
Check new version of application on your device.
In this case, my application is works.