[
https://issues.apache.org/jira/browse/CB-10078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christian Hemker updated CB-10078:
----------------------------------
Description:
Using UIWebView on an iPad Pro (iOS 9.1) gives you a wrong userAgent, because
it says its an iPhone.
You can reproduce this behavior with the iPad Pro device and with the iPad Pro
simulator. In both cases the userAgent is:
{noformat}
mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46
(khtml, like gecko) mobile/13b137
{noformat}
This seems to be a known bug with iOS 9.1 on the iPad Pro because it is fixed
with iOS 9.2 beta 4 and you are getting the right userAgent.
If you clean install your app, everything works fine on iOS 9.2 beta 4. But if
you update your previously installed app, you are still getting the wrong
userAgent because the CDVUserAgentUtil uses the cached userAgent.
For users it is not possible to clean install the app, because in that case the
whole configuration would get lost. To get the right userAgent every time,
developers must have the option to disable the caching of the userAgent in
their apps.
was:
Using UIWebView on an iPad Pro (iOS 9.1) gives you a wrong userAgent, because
is says its an iPhone.
The iPad Pro Simulator 9.1 (Xcode 7.1.1) gives you this iPhone userAgent:
{noformat}
mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46
(khtml, like gecko) mobile/13b137
{noformat}
Same happens for the userAgent on iPad Pro.
This seems to be a known bug with iOS 9.1 on the iPad Pro because it is fixed
with iOS 9.2 beta 4.. Then you get the correct iPad UserAgent.
If you install an iOS app that is build with iOS (8.4) on an iPad Pro (iOS
9.1/9.2 beta 4) the iPhone userAgent will be used inside the cordova app.
In this case calling the method originalUserAgent from CDVUserAgentUtil the
userAgent „…iPhone…“ is cached inside the app.
The problem is, that if you install an cordova app update for iOS 9.1, the
CDVUserAgentUtil uses the cached „…iPhone…“ userAgent
instead of the corrected userAgent „…iPad..“ that is fixed with iOS 9.2 beta 4.
How do we get the correct userAgent in case of an app update for the
originalUserAgent?
If you install the same cordova app build with iOS 9.2 on the iPad Pro (iOS 9.2
beta 4) the userAgent iPad is used.
> With iPad Pro the wrong userAgent (iPhone) will be saved
> --------------------------------------------------------
>
> Key: CB-10078
> URL: https://issues.apache.org/jira/browse/CB-10078
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS
> Affects Versions: Master, 3.6.3
> Environment: iPad Pro
> iOS 9.1
> Reporter: Christian Hemker
>
> Using UIWebView on an iPad Pro (iOS 9.1) gives you a wrong userAgent, because
> it says its an iPhone.
> You can reproduce this behavior with the iPad Pro device and with the iPad
> Pro simulator. In both cases the userAgent is:
> {noformat}
> mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46
> (khtml, like gecko) mobile/13b137
> {noformat}
> This seems to be a known bug with iOS 9.1 on the iPad Pro because it is fixed
> with iOS 9.2 beta 4 and you are getting the right userAgent.
> If you clean install your app, everything works fine on iOS 9.2 beta 4. But
> if you update your previously installed app, you are still getting the wrong
> userAgent because the CDVUserAgentUtil uses the cached userAgent.
> For users it is not possible to clean install the app, because in that case
> the whole configuration would get lost. To get the right userAgent every
> time, developers must have the option to disable the caching of the userAgent
> in their apps.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]