Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

G4PPC

macrumors member
Original poster
Jun 22, 2015
86
16
Online
Running different versions of MacOS on several Macs I keep wondering how an App knows what OS X it's running on like every time it tells me you can't run this app because you have OS X 10.11 or whatever and this App requires OS X 10.12 or whatever it is that it say's. Sometimes it say's it can't run because you have too new of an OS.

I also noticed while looking at the contents of a particular App it had a Plist file that had a listing stating the lowest supported version of MacOS but changing it didn't let me install or run the app on a earlier version of MacOS than what it had originally listed which was 10.12.

I just am curious how does an App Determine what your OS X Version is or even a WebApp because the Apple Appstore does this too, as it won't let you download Apps that don't support your OS Version or below it like you can download an App for MacOS 10.6 or earlier on 10.11 but you can't download an App that is for 10.12 or later, knowing that you can't run those Apps anyway on your out dated OS even if you could download them, but it just bugs me not knowing how it does it.

Does anyone know how Apps work that way on MacOS?
 
The Info.plist file specifies the minimum OS, and Finder etc. will refuse to launch an app if the version is higher than the currently-installed one.

Apps can also ask the OS what version it is (apparently using NSProcessInfo.processInfo().operatingSystemVersion). That's probably what's happening when you've hand-edited Info.plist; the app itself will be doing a further check.

I'm not sure what you're asking re: Web apps.
 
And, of course, changing the plist to accept/ignore a different macOS version does not, by that action, change how the app is coded. If that coding is not supported on that macOS system, then the app would likely crash out (unexpectedly quit, or similar). Good thing that the plist is there, reporting at launch. Keeps you from wasting your time
 
The Info.plist file specifies the minimum OS, and Finder etc. will refuse to launch an app if the version is higher than the currently-installed one.

Apps can also ask the OS what version it is (apparently using NSProcessInfo.processInfo().operatingSystemVersion). That's probably what's happening when you've hand-edited Info.plist; the app itself will be doing a further check.

I'm not sure what you're asking re: Web apps.

And, of course, changing the plist to accept/ignore a different macOS version does not, by that action, change how the app is coded. If that coding is not supported on that macOS system, then the app would likely crash out (unexpectedly quit, or similar). Good thing that the plist is there, reporting at launch. Keeps you from wasting your time

Okay, So that is how it works, Thanks for the clearing that up. I now know not to mess with the info.plist file. It's good that MacOS Apps can do an additional check. Then I am guessing it also has something to do with the complier of what ever version the App was compiled for or with. Like I just got Xcode 13 to create a Game Template that will compile for MacOS 10.11, when the first version I created needed MacOS 10.12 for compiling.

I am not so sure about the Web apps part either the Apple Store.App is just a normal App to even if it does connect to the Internet.
 
I am not so sure about the Web apps part either the Apple Store.App is just a normal App to even if it does connect to the Internet.
The App Store is not a web app. Showing web content or connecting to the Internet within a native app does not make such an app a web app. A web app is essentially a website that looks, feels and/or behaves like a desktop app. You run it in a web browser.

I do not know if web apps can actually look up information about the OS anymore. It used to be possible to get at some information via the “user agent” of the browser, which mentions the OS version as well. However, since macOS Catalina, the OS version has been fixed at 10.5.7 and won’t be updated again. There are replacements under consideration which have not ended up in a web standard so far. Safari at least does not support them yet.
 
The App Store is not a web app. Showing web content or connecting to the Internet within a native app does not make such an app a web app. A web app is essentially a website that looks, feels and/or behaves like a desktop app. You run it in a web browser.

I do not know if web apps can actually look up information about the OS anymore. It used to be possible to get at some information via the “user agent” of the browser, which mentions the OS version as well. However, since macOS Catalina, the OS version has been fixed at 10.5.7 and won’t be updated again. There are replacements under consideration which have not ended up in a web standard so far. Safari at least does not support them yet.
Interesting I have actually wondered about that myself "why they have Frozen the Version Number" and how is that going effect future updates of software and the operating systems. Plus it seems to me on Big Sur like Firefox keeps becoming more and more of a broken browser day to day there are just things it can't do on certain websites even if it's up to date like on some sites you can't even log in to them using it.

Microsoft Edge seems to be the better choice. IMO.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.