@@ -508,11 +508,11 @@ def mac_ver(release='', versioninfo=('', '', ''), machine=''):
508508# A namedtuple for iOS version information.
509509IOSVersionInfo = collections .namedtuple (
510510 "IOSVersionInfo" ,
511- ["system" , "release" , "model" , "is_simulator" ]
511+ ["system" , "release" , "model" , "is_simulator" , "is_catalyst" ]
512512)
513513
514514
515- def ios_ver (system = "" , release = "" , model = "" , is_simulator = False ):
515+ def ios_ver (system = "" , release = "" , model = "" , is_simulator = False , is_catalyst = False ):
516516 """Get iOS version information, and return it as a namedtuple:
517517 (system, release, model, is_simulator).
518518
@@ -525,7 +525,7 @@ def ios_ver(system="", release="", model="", is_simulator=False):
525525 if result is not None :
526526 return IOSVersionInfo (* result )
527527
528- return IOSVersionInfo (system , release , model , is_simulator )
528+ return IOSVersionInfo (system , release , model , is_simulator , is_catalyst )
529529
530530
531531# A namedtuple for tvOS version information.
@@ -547,6 +547,7 @@ def tvos_ver(system="", release="", model="", is_simulator=False):
547547 import _ios_support
548548 result = _ios_support .get_platform_ios ()
549549 if result is not None :
550+ result = result [:- 1 ] # ignore the Catalyst flag
550551 return TVOSVersionInfo (* result )
551552
552553 return TVOSVersionInfo (system , release , model , is_simulator )
@@ -571,6 +572,7 @@ def watchos_ver(system="", release="", model="", is_simulator=False):
571572 import _ios_support
572573 result = _ios_support .get_platform_ios ()
573574 if result is not None :
575+ result = result [:- 1 ] # ignore the Catalyst flag
574576 return WatchOSVersionInfo (* result )
575577
576578 return WatchOSVersionInfo (system , release , model , is_simulator )
@@ -595,6 +597,7 @@ def visionos_ver(system="", release="", model="", is_simulator=False):
595597 import _ios_support
596598 result = _ios_support .get_platform_ios ()
597599 if result is not None :
600+ result = result [:- 1 ] # ignore the Catalyst flag
598601 return VisionOSVersionInfo (* result )
599602
600603 return VisionOSVersionInfo (system , release , model , is_simulator )
@@ -968,7 +971,7 @@ def get_OpenVMS():
968971 # there's only one CPU architecture for devices, so we know the right
969972 # answer.
970973 def get_ios ():
971- if sys .implementation ._multiarch .endswith ("simulator" ):
974+ if sys .implementation ._multiarch .endswith ("simulator" ) or sys . implementation . _multiarch . endswith ( "macabi" ) :
972975 return os .uname ().machine
973976 return 'arm64'
974977
@@ -1148,7 +1151,7 @@ def uname():
11481151
11491152 # Normalize responses on Apple mobile platforms
11501153 if sys .platform == 'ios' :
1151- system , release , _ , _ = ios_ver ()
1154+ system , release , _ , _ , _ = ios_ver ()
11521155 if sys .platform == 'tvos' :
11531156 system , release , _ , _ = tvos_ver ()
11541157 if sys .platform == 'watchos' :
@@ -1443,7 +1446,7 @@ def platform(aliased=False, terse=False):
14431446 if system == 'Darwin' :
14441447 # macOS and iOS both report as a "Darwin" kernel
14451448 if sys .platform == "ios" :
1446- system , release , _ , _ = ios_ver ()
1449+ system , release , _ , _ , _ = ios_ver ()
14471450 elif sys .platform == "tvos" :
14481451 system , release , _ , _ = tvos_ver ()
14491452 elif sys .platform == "watchos" :
0 commit comments