-
Notifications
You must be signed in to change notification settings - Fork 85
bug: Ionic 3, iOS 13.4.1, the framework shows the Android UI instead of the iOS UI (UI components) #1104
Comments
I am also experiencing this issue on iPad tablets showing the wrong UI. I notice that the status bar is also overlaying over the headers because the correct styles are not being applied |
@IMPMAC Yes, I experiencing the same issues... |
Experiencing same issues as well. |
@sengoontoh yes, in app.module.ts I use this code:
basically you have to set But this workaround is good if you are working only on iOS, because it forces the iOS UI also on Android 🙁. |
Same here, |
Same here, we change all our platform.is('ios') to device.platform == 'iOS' using @ionic-native/device instead. However this only solves the issue inside of checking the platform inside the app but no the app styling itself. The whole problem is caused by change on useragent done by iOS 13. The platform service rely on that user agent to get the device information. |
Hi. Are you all using wkwebview plugin with version greater than 4.1.3, e.g. 4.2.x or 5.0.0? See ionic-team/cordova-plugin-ionic-webview#556 (comment) |
My small fix that seems to work (not tested in all iOS-versions on device, only 14 + 13.5 in simulator, not tested for Android): With webviewplugin version 4.2.0 or greater the user agent has changed. See comment above (#1104 (comment)) I assume that the cordova device-plugin cannot be relied on to be started when the ionic-angular properties are configured. So in
The function more or less (I think) follows the logic in platform.ts: https://github.com/ionic-team/ionic-v3/blob/master/src/platform/platform.ts#L893 with the addition of 'macintosh'. Besides that I had the problem that statusbar-padding class was not set. To me it seems like it should be set either way when the app is running in cordova, but again I assume the user agent change may have changed how this is determined. Hence I hardcoded it in the config object passed to ionic-angular. My modified config then contained in IonicModule.forRoot the following:
|
@oddcb Regarding your useful At least that what I needed to do on ionic v3 to get the android theme working |
@IMPMAC Thanks for spotting that. At the time I hadn't tested Android yet. :-) I've updated my comment. |
@oddcb - for reference, it seems like your addition to check for ionic-team/ionic-framework#19258
For reference, their iPad check does also require an additional
|
I'm seeing a more severe version of this issue, triggered by update to cordova-ios@6. Not only is the ios platform not added for styling purposes, cordova is not available, leading to plugin failure. Is anyone else seeing something similar? |
Hi, same error under iPad.
but under iOS14, i have the error IOS build failed for IOS 14 - Property ‘userAgent’ not found on object of type ‘CDVViewController *’ My ionic info:
|
I was trying the previous solutions, and the icons was working but the ion-app classes wasn't properly filled with platform-ios or platform-mobile, etc. That is why I made a fork of [email protected] and simulate the older userAgent to avoid the ios detections problems we-are-Joinup/cordova-plugin-ionic-webview@57fc602 With that change, the icons works fine, the classes are filled and the this.platform._platforms return all the sets like the older versions: |
I tried your change under [email protected] but platform.platforms() always return only ['cordova', 'core'] values |
@fbrun Did you try my changes? I installed this fork with [email protected], and tested in devices [email protected] , [email protected] and some ipad simulators 11.4, 14.3, for now I didn't see the problem. |
We just change code from the screen. We will try to install it correctly, thanks |
This seemed to work for me, thank you. |
Original issue by @ulver2812 on 2020-05-11T09:45:00Z
Bug Report
Ionic version:
[x] 3.x
Current behavior:
On iOS 13.4.1 the framework shows the Android UI instead of the iOS UI (UI components).
On iOS 12 it works correctly.
Expected behavior:
On iOS 13.4.1 the framework must shows the iOS UI (UI components).
Steps to reproduce:
Run an Ionic 3 app on iOS 13.4.1.
Related code:
I found this workaround to set iOS as the default UI, in src/app/app.module.ts
Other information:
Ionic info:
The text was updated successfully, but these errors were encountered: