3

I have an application that wouldn't start on OS X Yosemite and throws the following message

This application required OS X 10.12 or later.

The application itself is fully functional. I can easily run it via Terminal

/Applications/My\ App.app/Content/MacOS/My\ App

It does start perfectly fine.

The old method was to edit app's Info.plist file and set LSMinimumSystemVersion to the version of OS X you are running. However, my app bundle's Info.plist doesn't have any LSMinimumSystemVersion specified at all.

I tried to spoof the OS X version by editing: /System/Library/CoreServices/SystemVersion.plist and it works for My App.app but breaks a few other apps.

Somehow, just by reading app bundle the Finder knows, it's incompatible and draws the white crossed sign over the app icon.

How does it know that Info.plist file does not have this information?

  • Can you name "My–App"? – LangLangC Jun 7 at 10:59
  • What happens if you change the App's bundle id? – Wowfunhappy Jun 7 at 14:12
  • My initial thought was that this sounds like the incompatible apps blacklist, but I just realized that can't be the case! Asker is trying to run a newer app on older macOS, not an older app on newer macOS. I very much doubt Apple retroactively maintains blacklists for older OS's. – Wowfunhappy Jun 7 at 15:06
1

One possibly explanation is that the other apps are built using the newer macOS SDK, and have their minimum deployment target set which is higher than OS X Yosemite. In such cases editing/adding LSMinimumSystemVersion key won't work.

Also, manually editing the Info.plist file may break the integrity of the app and may curtail it from running.

You need to check with the developers of the apps and see if they still support the older version of OS X or if they have builds targeting the older OS X releases.

  • 1
    This doesn't explain why MyApp works when launched from CLI and how Finder/Applaunching get their preventative info/instruction. – LangLangC Jun 7 at 11:00
  • 1
    @LangLangC I assumed that MyApp is build with the older SDK and has deployment target compatible to OS X Yosemite and/or isn't signed. – Nimesh Neema Jun 7 at 11:03
  • I don't understand these assumptions. Unsigned apps do not get the no parking sign, but can be run trouble free if "from anywhere" is selected in SysPrefs? The kickers are: how would Finder read DeploymentTarget; and why can it still be launched from Terminal (obviously, it just uses older or little changed APIs), if info-plist breaks integrity, why CLI works? OP should perhaps give more infos, but the above doesn't solve the problem and imo fails to probably explain why things fail and others don't for the given scenario? Please revise: eg how Finder determines parking sign (now)… – LangLangC Jun 8 at 17:09
  • Yes, I'll do just that. The real question is definitely "how does Finder determines it needs to put a no parking sign over the app". It is definitely not Info.plist anymore. – eneset Jun 8 at 23:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .