apache / cordova-plugin-inappbrowser

Apache Cordova InAppBrowser Plugin
https://cordova.apache.org/
Apache License 2.0
1.12k stars 2.15k forks source link

postMessage event works on Android but its not working on iOS #468

Closed gil-vieira-nau-21 closed 4 years ago

gil-vieira-nau-21 commented 5 years ago

Bug Report

Hello, In my Ionic application the postMessage event is being emitted on Android, but it's not working on iOS.

Problem

The postMessage event is not being emitted/catched on iOS. Does anyone has faced this problem ?

Log from XCode

2019-04-26 19:59:48.258142+0100 Financieel Passpoort[19681:102277599] config [object Object] 2019-04-26 19:59:48.258338+0100 Financieel Passpoort[19681:102277599] openUrl method https://aqopi.com/sources-stub/digid-login.html?source-id=mbd-1 2019-04-26 19:59:48.264215+0100 Financieel Passpoort[19681:102277599] ab 2019-04-26 19:59:48.265382+0100 Financieel Passpoort[19681:102277599] No 2019-04-26 19:59:48.269761+0100 Financieel Passpoort[19681:102277599] No 2019-04-26 19:59:48.272486+0100 Financieel Passpoort[19681:102277599] handleOnLoad method 2019-04-26 19:59:48.281608+0100 Financieel Passpoort[19681:102277599] handleOnLoad method 2019-04-26 19:59:48.281872+0100 Financieel Passpoort[19681:102277599] Tried to show IAB while already shown 2019-04-26 19:59:48.297361+0100 Financieel Passpoort[19681:102277599] No 2019-04-26 19:59:48.299729+0100 Financieel Passpoort[19681:102277599] webView:didFailLoadWithError - -999: The operation couldn’t be completed. (NSURLErrorDomain error -999.) 2019-04-26 19:59:48.304056+0100 Financieel Passpoort[19681:103071166] TIC Read Status [27:0x0]: 1:57 2019-04-26 19:59:48.305921+0100 Financieel Passpoort[19681:102277599] No 2019-04-26 19:59:48.795418+0100 Financieel Passpoort[19681:102277599] Unbalanced calls to begin/end appearance transitions for <UIViewController: 0x7f9737159a20>. 2019-04-26 19:59:48.815076+0100 Financieel Passpoort[19681:102280090] WF: _userSettingsForUser : (null) 2019-04-26 19:59:48.815168+0100 Financieel Passpoort[19681:102280090] WF: _WebFilterIsActive returning: NO 2019-04-26 19:59:49.333717+0100 Financieel Passpoort[19681:102277599] onLoad event was triggered 2019-04-26 20:00:01.434444+0100 Financieel Passpoort[19681:102277599] [Snapshotting] Snapshotting a view (0x7f9733f3b8c0, UIInputSetHostView) that has not been rendered at least once requires afterScreenUpdates:YES. 2019-04-26 20:00:02.360201+0100 Financieel Passpoort[19681:102277599] No 2019-04-26 20:00:02.531431+0100 Financieel Passpoort[19681:102280090] WF: _userSettingsForUser : (null) 2019-04-26 20:00:02.531556+0100 Financieel Passpoort[19681:102280090] WF: _WebFilterIsActive returning: NO 2019-04-26 20:00:02.546629+0100 Financieel Passpoort[19681:102277599] onLoad event was triggered

Version information

Ionic: 3.20.1 Android: 8.1.0 iOS: 12 "@ionic-native/in-app-browser": "^4.2.0", "cordova-plugin-inappbrowser": "git+https://github.com/apache/cordova-plugin-inappbrowser.git#master" -> 3.1.0-dev "cordova-plugin-ionic-webview": "2.2.0",

Checklist

Best regards, Gil

dpa99c commented 5 years ago

An example project illustrating (among other things) usage of the postMessage API functionality can be found here: https://github.com/dpa99c/cordova-plugin-inappbrowser-test

These screenshots illustrate the message event being successfully sent by both UIWebView and WKWebView implementations of this plugin on the iOS platform:

Please build and run this project to confirm you see the same results. Press "Open Inappbrowser" button then "Post Message" button then "Done" to close the inappbrowser window. Scroll the main app page to the bottom and if the message event was successfully received you should see a received 'message' event entry.