Open foRsxs opened 1 year ago
Same with Microsoft Surface Go Win 11. Also detected as computer.
Hello! New iPad OS detected as computer. In new version Apple use core like on Mac
I created a hacky way to detect the new iPad iOS. I found that the version number on a Mac contains a dot (.) and the version number on an iPad contains an underscore(_).
I'm just checking the version for an underscore and setting a global variable.
This may be of use to someone else.
(As a side note: I'm actually using this to set a session cookie within my own site rather than a global variable. But that code is out of scope for this reply.)
/**
* HACKY WAY TO SEE IF WE'RE ON A IOS DEVICE
** Checking the user agent
** Separate the content between the brackets returned by the user agent
** Create an array of the mobile device os separated by semicolon
** Check for an underscore which is only used by iOS within the version number
** @example '10.1' (Mac OS) / '10_1' (iOS)
*/
$mobile_detect = new \Detection\MobileDetect;
$userAgent = $mobile_detect->userAgent;
$explode = explode( '(', $userAgent );
preg_match( '#\((.*?)\)#', $userAgent, $match );
$current_os = $match[1] ?? '';
$current_os_array = explode( '; ', $current_os );
$mobile_os_version = ( str_contains( $current_os_array[1], '_' ) && str_contains( $current_os_array[1], 'OS X' ) );
// Create the global variable...
$GLOBALS['is_new_apple_tablet'] = $mobile_os_version; // @return boolean true || false
@aaronsummers Your idea is very interesting. But is it really discernible?
However, according to the following article, both OSes seem to use “_”. https://www.bit-hive.com/articles/20190820
[Safari on iPad + iPadOS13(デスクトップ用Webサイトを表示:On設定時)] Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15
[Safari on macOS Mojave] Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15
I don't have that device so I can't verify it.
Can someone finally tell if the problem has a solution?
I can confirm this isn't an issue with the latest script.
Hello! New iPad OS detected as computer. In new version Apple use core like on Mac