Embed Cordova-Webview and Plugin - ios

I'm trying to embed Cordova in my native iOS application. I only need a tiny part of my application to use cordova. From now I managed to show a CordovaViewController with some HTML in there, but I can't find out how to add cordova plugins (ex. cordova-plugin-network-information) in the project.
I installed it using cocoapods, but I can't find in the Cordova's documentation how to wire it up with my www folder so that navigator.connection would not be undefined
Thank you for your help!

Related

How to integrate GTM with Firebase analytics enabled Application which developed using Xamarin Android platform

I am developing Mobile application using Xamarin Android. We have integrated Firebase portal with our application successfully. Also we are able to see all automated event and custom event on Dashboard in firebase Console.
Now my requirement is to integrate Google Tag Manager(GTM) SDK with existing Firebase SDK in my application. I tried to integrate by following some below links
https://developers.google.com/tag-manager/android/v5/
https://github.com/IdoTene/XamarinTagManagerAndroid
but ended up with build error Invalid Resource file Name for GTM configuration file(GTM-XXXX.json).
So here is my question, How to integrate GTM SDK with Firebase SDK in Xamarin Android application.
Please any help would be greatly appreciated.
I don't know if you figured it out eventually, but for future reference, the problem is that the IdoTene tagmanager project is for tagmanager v4, which is pre firebase. Instead you should use the version that Xamarin maintains:
https://www.nuget.org/packages/Xamarin.GooglePlayServices.TagManager/
The steps are very simple. Integrate GTM containers (ios and android) as follows:
For Android -> create subfolder in assets folder and name it as containers, copy container in it (make sure it's naming starts with GTM-xxxxxx.json).
For iOS -> create a folder container in the root directory and copy GTM container json there (GTM-xxx.json)
Then install Xamarin.GooglePalyServices.TagManager nuget for Android and Xamarin.Google.iOS.Tagmanger for iOS.
Thats it for Android, but for iOS, there is a one more step.
Integrate following code in AppDelegate.cs
Google.TagManager.TagManager.Configure();
Then you should be good to go!! :)

how to add plugin without cli in cordova 3.5.0 iOS

I am not using cli for my cordova project ,i got the cordova 3.5.0 project from there site and integrated with my project.All the custom plugins created by me is working fine.But the API's like device is not accessible.I have added the CDVDevice to config.xml but still i can't able to access the device object.
So please help me to solve this problem.
In order to correctly working the Cordova requires you to have cordova_plugins.js file near the cordova.js. That file contains registration of the JS API.
The easiest part is use Plugman to install plugins inside your custom project, that way, it will handle all work on creation of cordova_plugins.js.
Official Cordova documentation for the Plugman
See the possible related answer Cordova 3.5 embedded webview with plugins where I put more insights about how you could modify cordova_plugins.js in case you desperately need this, but I would recommend you to use Plugman.

The app references non-public selectors in Payload/Cordova350.app/Cordova350

I have written and exported a Cordova 3.5.0 PhoneGap Application using the Telerik Platform. The app is using jQuery Mobile and an InAppPurchasing plugin.
The only other plugins used are Cordova Splashscreen and Cordova Statusbar.
I can run the app no problem when i install it via iTunes on to my iPad. However, when I submit the app via Application Loader, I get the following errors:
I was tempted to go in and edit/look for the lines that reference these 'non-public selectors' myself but the Cordova350 file is a unix executable file that when opened looks like bytes of hex codes.
I cant seem to find anything from googling around about anyone experiencing a similar issue. Is this just a setting somewhere I have forgotten to untick? Any help would be appreciated

InAppBrowser not launching

I've installed Phonegap using the npm and my app is working great, except when I call window.open to launch a website it does not give me the footer with the done button so my app get's stuck on the called web page.
I am using XCode to build an ios app.
I've used npm to add the InAppBrowser plugin. It added the to to the config.xml.
I've added the site to my whitelist in config.xml. The site opens fine, just without the done button/footer.
It added the InAppBrowser plugin entry to:
/#myapp#/platforms/#platform#/www/cordova_plugins.js
It added the InAppBrowser plugin folder in /#myapp#/platforms/#platform#/plugins/
The related SRC files for InAppBrowser are in the platform folder as well
(for example IOS plugin src files are: /#myapp#/platforms/#platform#/#appname#/Plugins/)
I added a console.log function to InAppBrowser.js to confirm that the plugin is loaded, but it does not generate a log entry.
I've tried many things to get the footer/done button to show without any success, but I seem to be missing something here.
I solved this problem by recreating the Xcode project using cordova (instead of phonegap). I went through all of the solutions several times with no luck, so I used the terminal to build a new cordova project, added the InAppBrowser to the project, then copied my code and assets from the old project to the new one. Launched the app on my ipad and it all worked just fine.
I don't suspect it's a problem with Phonegap 3.1.0. I think there was a project issue that kept it from working and starting over with a clean project did the trick.
All is well.
One note is that I saw postings that reported cordova interrupts the console.log function, so be careful with that. Alerts work just fine.

Phonegap working with Android but not with iOS, Error Code

I am getting this error code when i open a phonegap html site in iOS:
gap:["Device","getDeviceInfo","Device341875241"]
gap:["NetworkStatus","getConnectionInfo","NetworkStatus341875242"]
gap:["App","show","App341875243"]
It is working with Android perfectly.. i am using cordova 2.7.0.
What´s that supposed to mean?
thanks!
You must add the correct cordova-2.7.0.js file that is specific to iOS. This error usually occurs when you add cordova JS file which is not specific to a particular platform. In other words, you should add the iOS specific cordova-2.7.0 JS file to your iOS PhoneGap project.
Possible scenario:
You might have wrongly included the Android specific cordova-2.7.0 JS file in your iOS project.
Fix:
Just remove the current cordova JS file and add the cordova-2.7.0.js file from iOS folder in the downloaded Phonegap-2.7.0 folder

Resources