Hi,
macOS 13 (Ventura) has recently been released. OSVersion() doesn't yet support it, though, with the latest it supports being #PB_OS_MacOSX_12. Can Ventura support possibly be added?
Thanks!
OSVersion() for macOS Ventura
OSVersion() for macOS Ventura
PB v5.40/6.10, Windows 10 64-bit.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
Re: OSVersion() for macOS Ventura
Workaround ...
Code: Select all
;-TOP my mk-soft, Update 16.01.2024
CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
CompilerIf Not Defined(PB_OS_MacOSX_13, #PB_Constant)
#PB_OS_MacOSX_13 = 13000
#PB_OS_MacOSX_14 = 14000
Structure udtOSVersion
majorVersion.i
minorVersion.i
patchVersion.i
EndStructure
Procedure MacOSVersion()
Static NSVersion.udtOSVersion
Protected Version, NSProcessInfo
If Not NSVersion\majorVersion
NSProcessInfo = CocoaMessage(0, 0, "NSProcessInfo processInfo")
CocoaMessage(NSVersion, NSProcessInfo, "operatingSystemVersion")
EndIf
Version = NSVersion\majorVersion * 1000 + NSVersion\minorVersion * 10
ProcedureReturn Version
EndProcedure
Macro OSVersion()
MacOSVersion()
EndMacro
CompilerEndIf
CompilerEndIf
Debug OSVersion()
If OSVersion() >= #PB_OS_MacOSX_14
MessageRequester("Info", "OS Version Sonoma")
ElseIf OSVersion() >= #PB_OS_MacOSX_13
MessageRequester("Info", "OS Version Ventura")
EndIf
Last edited by mk-soft on Tue Jan 16, 2024 6:40 pm, edited 1 time in total.
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
Re: OSVersion() for macOS Ventura
Amazing, thanks a lot for this! Would still love to see this make it into the stdlib, though
PB v5.40/6.10, Windows 10 64-bit.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
Re: OSVersion() for macOS Ventura
With macOS Sonoma rapidly approaching public release, I'm going ahead and bumping this. Both Ventura and Sonoma constants would be great!
PB v5.40/6.10, Windows 10 64-bit.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
Re: OSVersion() for macOS Ventura
Bumping once again. I now have an application that collects information about the OS a user is running, and it's incredibly unhelpful nowadays to just get Future for 13 and 14. This also seems like the sort of thing that 6.10 is after.
PB v5.40/6.10, Windows 10 64-bit.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
Re: OSVersion() for macOS Ventura
Reference: https://www.purebasic.fr/english/viewto ... on#p591872
Courtesy of mk-soft
Courtesy of mk-soft
Code: Select all
;-TOP my mk-soft, Update 28.11.2022
CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
CompilerIf Not Defined(PB_OS_MacOSX_13, #PB_Constant)
#PB_OS_MacOSX_13 = 13000
Structure udtOSVersion
majorVersion.i
minorVersion.i
patchVersion.i
EndStructure
Procedure MacOSVersion()
Static NSVersion.udtOSVersion
Protected Version, NSProcessInfo
If Not NSVersion\majorVersion
NSProcessInfo = CocoaMessage(0, 0, "NSProcessInfo processInfo")
CocoaMessage(NSVersion, NSProcessInfo, "operatingSystemVersion")
EndIf
Version = NSVersion\majorVersion * 1000 + NSVersion\minorVersion * 10
ProcedureReturn Version
EndProcedure
Macro OSVersion()
MacOSVersion()
EndMacro
CompilerEndIf
CompilerEndIf
Debug OSVersion()
If OSVersion() >= #PB_OS_MacOSX_13
MessageRequester("Info", "OS Version Ventura")
EndIf
Re: OSVersion() for macOS Ventura
What's the constant for Sonoma? I tried 14000 but that didn't seem to work.
mrbungle wrote: ↑Mon Jan 15, 2024 10:32 pm Reference: https://www.purebasic.fr/english/viewto ... on#p591872
Courtesy of mk-soft
Code: Select all
;-TOP my mk-soft, Update 28.11.2022 CompilerIf #PB_Compiler_OS = #PB_OS_MacOS CompilerIf Not Defined(PB_OS_MacOSX_13, #PB_Constant) #PB_OS_MacOSX_13 = 13000 Structure udtOSVersion majorVersion.i minorVersion.i patchVersion.i EndStructure Procedure MacOSVersion() Static NSVersion.udtOSVersion Protected Version, NSProcessInfo If Not NSVersion\majorVersion NSProcessInfo = CocoaMessage(0, 0, "NSProcessInfo processInfo") CocoaMessage(NSVersion, NSProcessInfo, "operatingSystemVersion") EndIf Version = NSVersion\majorVersion * 1000 + NSVersion\minorVersion * 10 ProcedureReturn Version EndProcedure Macro OSVersion() MacOSVersion() EndMacro CompilerEndIf CompilerEndIf Debug OSVersion() If OSVersion() >= #PB_OS_MacOSX_13 MessageRequester("Info", "OS Version Ventura") EndIf
PB v5.40/6.10, Windows 10 64-bit.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
Re: OSVersion() for macOS Ventura
Update on top: https://www.purebasic.fr/english/viewto ... 72#p591872
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive