Skip to content

MacOS Big Sur #3

@younggrandpa

Description

@younggrandpa

Hi @foroco,

I hope this finds you well.

MacOS BigSur is represented in Chrome variant browsers as MAC OSX 11_1_0 whilst in Firefox is Mac OS X 10.16. I don't think Apple bothered to update their UA for Safari though.

  1. Chrome: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

  2. Brave: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36

  3. Edge: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 Edg/86.0.622.69

  4. Firefox: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:85.0) Gecko/20100101 Firefox/85.0

  5. Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15

I edited my copy of BrowserDetection.php starting at line 327:

if ($os_need_continue && $this->match_ua('Mac OS X|Mac_PowerPC|Macintosh|Mac_68K'))
{
$this->result_os_version = 0;
$this->result_os_name = 'MacOS';
if ($this->match_ua('Mac OS X'))
{
	$matches = $this->match_ua('/Mac OS X (\d+)[_.](\d+)/');
	$version = $matches[1];
	$version_minor = $matches[2];
	
	if (!empty($version_minor) && $version == 10)
	{
		switch($version_minor)
		{
			case 0: $this->result_os_version = 'Cheetah'; break;
			case 1: $this->result_os_version = 'Puma'; break;
			case 2: $this->result_os_version = 'Jaguar'; break;
			case 3: $this->result_os_version = 'Panther'; break;
			case 4: $this->result_os_version = 'Tiger'; break;
			case 5: $this->result_os_version = 'Leopard'; break;
			case 6: $this->result_os_version = 'Snow Leopard'; break;
			case 7: $this->result_os_version = 'Lion'; break;
			case 8: $this->result_os_version = 'Mountain Lion'; break;
			case 9: $this->result_os_version = 'Mavericks'; break;
			case 10: $this->result_os_version = 'Yosemite'; break;
			case 11: $this->result_os_version = 'El Capitan'; break;
			case 12: $this->result_os_version = 'Sierra'; break;
			case 13: $this->result_os_version = 'High Sierra'; break;
			case 14: $this->result_os_version = 'Mojave'; break;
			case 15: $this->result_os_version = 'Catalina'; break;
			case 16: $this->result_os_version = 'Big Sur'; break;
			default: $this->result_os_version = 'New'; break;
		}
	}

	if (!empty($version_minor) && $version == 11) 
	{
		switch($version_minor) 
		{
			case 1: $this->result_os_version = 'Big Sur'; break;
			default: $this->result_os_version = 'New'; break;
		}
	}
	
	if (!empty($this->result_os_version)) $this->result_os_title = 'MacOS '.$this->result_os_version;
	else $this->result_os_title = 'MacOS (unknown version)';
}

Cheers,
YG

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions