Sunday, November 24, 2024

command line – Override minimum macOS version – “kLSIncompatibleSystemVersionErr” when running app

I would like to run an app which nominally supports only MacOS 14.0 and above. I am on 12.7.3, and apple won’t allow me to update because my computer is too old. However, I know that the app actually can run on my machine because when I run the executable in the app package (game.app > Contents > MacOS > game), it works just fine. Unfortunately, I need to be able to run the app itself because I need to run it through Steam to get networking functionality.

Running the app through the command line with open game.app gives me the following error:

The application cannot be opened for an unexpected reason, error=Error
Domain=NSOSStatusErrorDomain Code=-10825 "kLSIncompatibleSystemVersionErr: The 
app cannot run on the current OS version" UserInfo={_LSLine=3863, 
_LSFunction=_LSOpenStuffCallLocal}

I have tried editing the info.plist but there is no tag that seems to specify a minimum system version.

Is there anything in the app contents that I might be able to change to override this error? Or some kind of flag I can use to override it when running it from the terminal?

(Bonus: does anyone know how to make Steam open the app through the executable? This would also solve my problem.)

The Info.plist file:

<?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>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleExecutable</key>
    <string>PA</string>
    <key>CFBundleGetInfoString</key>
    <string>Planetary Annihilation Copyright ©2012-2021 Planetary Annihilation Inc. All rights reserved.</string>
    <key>CFBundleIconFile</key>
    <string>PA</string>
    <key>CFBundleIdentifier</key>
    <string>com.planetaryannihilation.pa.client</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Planetary Annihilation</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0.0</string>
    <key>CFBundleVersion</key>
    <string>1.0.0</string>
    <key>LSApplicationCategoryType</key>
    <string>public.app-category.strategy-games</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>None</string>
            <key>CFBundleURLName</key>
            <string>com.planetaryannihilation.pa.client</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>startpa</string>
            </array>
        </dict>
    </array>
    <key>NSRequiresAquaSystemAppearance</key>
    <true/>
    <key>NSLocalNetworkUsageDescription</key>
    <string>LAN games</string>
</dict>
</plist>

The output of otool -l on the executable

[...]
Load command 10
     cmd LC_UUID
 cmdsize 24
    uuid 840729FE-68BA-36B3-BB9D-FFDF2C89D86C
Load command 11
      cmd LC_BUILD_VERSION
  cmdsize 32
 platform 1
    minos 14.1
      sdk 14.2
   ntools 1
     tool 3
  version 1022.1
Load command 12
      cmd LC_SOURCE_VERSION
  cmdsize 16
  version 0.0
Load command 13
       cmd LC_MAIN
   cmdsize 24
  entryoff 5980032
 stacksize 0
[...]

Related Articles

Latest Articles