Apple is lying about the user agent in the latest iPad Pro.
They’re misrepresenting both the OS and the chipset. They should be saying that they’re iPadOS on the A12X chipset.
Instead they’re saying that it’s running MacOS on Intel.
We built Safari to be the best browser for your Mac, iPhone, and iPad. Built-in privacy features keep your browsing your business. You can stream and search smarter with handy tools that help you save, find, and share your favorite sites. Apple Pay in Safari lets you shop safely and simply. User agent 1.6.5 Mozilla/5.0 (iPhone; CPU iPhone OS 120 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/1.6.5b18.09.26.16 Mobile/16A366 Safari/605.1.15 id/000002. Since on iPadOS User Agent in Safari is same as on MacOS Catalina, what is recommened way to distinguish OS on server side? IPadOS: Safari: Mozilla/5.0 ( Macintosh; Intel Mac OS X 1015 ) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15. Safari includes special features that make it possible to change the user agent. To activate the User Agent Switcher, in Safari, follow these steps: 1 Click on the Gear shift icon, shown in the top right corner of the Safari web browser, to open the General Menu. Safari User Agent Strings Safari Click on any string to get more details Safari 7.0.3. Mozilla/5.0 (Macintosh; Intel Mac OS X 1093) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A.
I honestly can’t believe this isn’t being covered elsewhere as it seems to me to be a pretty shocking and incredibleerror on their part.
This basically means it’s impossible for 3rd party developer to determine that they’re actually working on an iPad Pro.
If you’re developing a progressive webapp you’re unable to reliably determine that you’re working on an iPad Pro.
This essentially breaks webapp development targeting the iPad Pro.
The user agent is usually used to detect the version of the browser, operating system.
In the case of the iPad Pro they’re sending:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Safari/605.1.15
Now what they’ve done is added a feature for ‘Request desktop version of site by default’ and they’re using this UA to trigger the desktop site.
This might be true, and maybe we need better standards for implementing this feature, however, lying about the UA isn’tthe right strategy.
They can handle this in the UA by saying “like Mac OS X” and still trigger UA scripts that use the older version.
Even if this technique didn’t work, Apple has a responsibility be a good citizen on the web and use web standards properly and in the way they were intended.
The reason I’m so excited about the iPad Pro is that it’s a great device for reading. I’m working on porting Polar torunning on it natively with a progressive webapp (PWA).
Our PWA looks and behaves almost perfectly like a native mobile app.
It allows you to review your reading annotations and review your flashcards and notes while mobile.
It’s also the perfect weight for reading while mobile and feels like an actual book. Perfect for Polar users who want to read while traveling.
Our desktop app would NOT run reliably on an iPad Pro and we’re specifically trying to target features for this deviceincluding a layout that properly utilizes the screen resolution and hand gestures.
For example, here’s our webapp running on a resolution targeted for iPad OS:
… and here it is targeted for desktop users:
PWAs behave like native apps in that they can be cached locally, installed like regular apps, etc.
However, Apple seems hostile to PWAs and seems to be actively penalizing the technology in favor of their own App Storesince their revenues there are much higher.
User Agent For Mac Safari Browser
Apple also handicapped an emerging standard called Progressive Web Apps (PWAs) — which, like Electron, allowsdevelopers to build native-like apps for both desktop and mobile — by partially implementing it in a way that makes ittoo inconsistent to rely on. PWA doesn’t have the same problem if users open apps in Chrome or Firefox, but iPhone andiPad users can’t install third-party browsers, which makes PWA-based technology a non-starter.
In light of this larger conversation, I can’t help but think that Apple is doing this on purpose.
Os X Safari User Agent
I sincerely hope I’m wrong.
A PWA won’t be able to determine if it’s running on iPad OS and enable the appropriate feature set. There are some hacks that can be done like looking at window.screen.width but this will yield false positives in some situations.
At the very minimum, Apple should augment the ‘navigator’ object with some proprietary extension so that I can at leastadd custom code to detect that I’m on an iPad.