{"id":29536,"date":"2020-07-21T16:06:10","date_gmt":"2020-07-21T20:06:10","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=29536"},"modified":"2021-05-03T12:14:05","modified_gmt":"2021-05-03T16:14:05","slug":"big-sur-is-both-10-16-and-11-0","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2020\/07\/21\/big-sur-is-both-10-16-and-11-0\/","title":{"rendered":"Big Sur Is Both 10.16 and 11.0"},"content":{"rendered":"<p><a href=\"https:\/\/eclecticlight.co\/2020\/07\/21\/big-sur-is-both-10-16-and-11-0-its-official\/\">Howard Oakley<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=23910165\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2020\/07\/21\/big-sur-is-both-10-16-and-11-0-its-official\/\">\n<p>For apps built with Xcode, the version returned depends on which version of its SDK they were built with. SDK 10.15 and earlier will consistently respond that Big Sur is major version 10 and minor version 16. This ensures that all existing apps should see Big Sur as simply an incremented minor version, as we had expected before WWDC this year.<\/p>\n<p>Build an app with a new release of Xcode which features the macOS 11 SDK, and the major version will be 11 and the minor version 0.<\/p>\n<\/blockquote>\n\n<p id=\"big-sur-is-both-10-16-and-11-0-update-2020-08-19\">Update (2020-08-19): <a href=\"https:\/\/eclecticlight.co\/2020\/08\/13\/macos-version-numbering-isnt-so-simple\/\">Howard Oakley<\/a>:<\/p>\n<blockquote cite=\"https:\/\/eclecticlight.co\/2020\/08\/13\/macos-version-numbering-isnt-so-simple\/\">\n<p>One method commonly used to look up the macOS version number is to obtain the string value for the <code>ProductVersion<\/code> key in <tt>\/System\/Library\/CoreServices\/SystemVersion.plist<\/tt>. However, depending on the environment of the caller, Big Sur plays tricks with that file, which should return a version of 11.0. If the caller has set <code>SYSTEM_VERSION_COMPAT=1<\/code>, then the version number returned isn&rsquo;t obtained from that property list at all, but its companion <tt>SystemVersionCompat.plist<\/tt>, which is 10.16.<\/p>\n<\/blockquote>\n<p>He says that reading the contents of that file actually returns different results depending on the value of the environment variable. That&rsquo;s wild. So, if you clone your drive using a backup app that hasn&rsquo;t been recompiled, the <tt>SystemVersion.plist<\/tt> in the backup will have the wrong version number.<\/p>\n\n<p id=\"big-sur-is-both-10-16-and-11-0-update-2020-09-11\">Update (2020-09-11): See also: <a href=\"https:\/\/scriptingosx.com\/2020\/09\/macos-version-big-sur-update\/\">Armin Briegel<\/a>.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/07\/09\/how-to-decode-apple-version-and-build-numbers\/\">How to Decode Apple Version and Build Numbers<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2018\/06\/02\/macos-special-casing-to-keep-apps-working\/\">macOS Special-Casing to Keep Apps Working<\/a><\/li>\n<\/ul>\n\n<p id=\"big-sur-is-both-10-16-and-11-0-update-2021-05-03\">Update (2021-05-03): <a href=\"https:\/\/twitter.com\/timacfr\/status\/1388217684345622535\">Alexandre Colucci<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/timacfr\/status\/1388217684345622535\">\n<p>When using the 10.15 SDK, macOS Big Sur reports itself as 10.16.0 even when parsing the file <tt>\/System\/Library\/CoreServices\/SystemVersion.plist<\/tt>. Turns out that Apple checks for this specific path <a href=\"https:\/\/opensource.apple.com\/source\/xnu\/xnu-7195.81.3\/libsyscall\/wrappers\/open-base.c\">in the open() function in xnu<\/a> &#x1F92F;<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Howard Oakley (Hacker News): For apps built with Xcode, the version returned depends on which version of its SDK they were built with. SDK 10.15 and earlier will consistently respond that Big Sur is major version 10 and minor version 16. This ensures that all existing apps should see Big Sur as simply an incremented [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2020-07-21T20:06:12Z","apple_news_api_id":"1d068911-1512-4662-b387-b256a1b1223b","apple_news_api_modified_at":"2021-05-03T16:14:09Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABA==","apple_news_api_share_url":"https:\/\/apple.news\/AHQaJERUSRmKzh7JWobEiOw","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[30,1891,71,226],"class_list":["post-29536","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-mac","tag-macos-11-0","tag-programming","tag-xcode"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/29536","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=29536"}],"version-history":[{"count":6,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/29536\/revisions"}],"predecessor-version":[{"id":32319,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/29536\/revisions\/32319"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=29536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=29536"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=29536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}