Difference in version string in hardened runtime

Why do I get a different version of the os version string from the hardened runtime?

We have a cross platform mono app that we written some platform specific code for, mainly to get the version string from macOS
the code reads the /System/Library/CoreServices/SystemVersion.plist and parses out ProductName and ProductUserVisibleVersion from
the plist file.

If I compare the to files, there are some different values.

Big Sur Beta, running cat in terminal:
Code Block xml <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ProductBuildVersion</key>
<string>20A5395g</string>
<key>ProductCopyright</key>
<string>1983-2020 Apple Inc.</string>
<key>ProductName</key>
<string>macOS</string>
<key>ProductUserVisibleVersion</key>
<string>11.0</string>
<key>ProductVersion</key>
<string>11.0</string>
<key>iOSSupportVersion</key>
<string>14.2</string>
</dict>
</plist>


Big Sur Beta, running inside the hardened runtime:
Code Block xml <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ProductBuildVersion</key>
<string>20A5395g</string>
<key>ProductCopyright</key>
<string>1983-2020 Apple Inc.</string>
<key>ProductName</key>
<string>Mac OS X</string>
<key>ProductUserVisibleVersion</key>
<string>10.16</string>
<key>ProductVersion</key>
<string>10.16</string>
<key>iOSSupportVersion</key>
<string>14.2</string>
</dict>
</plist>


my question is basically if this will change in the public release of Big Sur, or what other way is there to get the os version string that is more correct in a hardened runtime environment?
Answered by galad87 in 642989022
Was your mono app compiled with the macOS 11 SDK? If not, that's the answer. Big Sur will report 10.16 to older apps to avoid breaking version checks that were not written correctly.
Accepted Answer
Was your mono app compiled with the macOS 11 SDK? If not, that's the answer. Big Sur will report 10.16 to older apps to avoid breaking version checks that were not written correctly.
Difference in version string in hardened runtime
 
 
Q