Ruben Fitó
Ruben Fitó

Reputation: 11

IONIC 5 - InAppBrowser is not installed or you are running on a browser -XCODE 13

I have an IONIC 5 / cordova project and I use InAppBrowser to open a link.

In the next code:

const browser = this.iab.create(url);

I get error "WARN: InAppBrowser is not installed or you are running on a browser. Falling back to window.open" on execution time in IOS device and IOS emulator.

I have tried all kinds of things that I have found on the internet:

First, I have done many test with @ionic-native/in-app-browser plugin, but I always get the same result:

I have tried it again with the new plugin:

$ ionic cordova plugin add cordova-plugin-inappbrowser 
$ npm install @awesome-cordova-plugins/in-app-browser 

I have verified that the cordova plugins are installed in the /Plugins folder of the XCode project.

I have a couple of things to comment on:

Now I use XCode 13, but In XCode 12 works fine. To upgrade the XCode I have upgrade MacOS from Catalina To Monterey.

The only difference between the two projects is that in XCode 13 "Legacy build system" is disabled since it's "deprecated".

I don't know if XCode doesn't import the libraries, I don't know if "Legacy Build System" is necessary. I know nothing... :-(

Can anybody help me?

Thanks.

Upvotes: 1

Views: 1287

Answers (1)

Ruben Fitó
Ruben Fitó

Reputation: 11

I found the problem.

In my project I have an "Object.prototype" function that it produce a big problem to loop objects.

Referring InAppBrowser pluguin, in file inappbrowser.js:

callbacks = callbacks || {};
for (var callbackName in callbacks) {
    iab.addEventListener(callbackName, callbacks[callbackName]);
}

Perhaps it could be improved with an Object.keys(callbacks), but I think that It was my problem.

Thanks.

Upvotes: 0

Related Questions