user14119170
user14119170

Reputation: 1871

How to specify an LSMinimumSystemVersion?

How can I change "an LSMinimumSystemVersion value"?
I received this e-mail from Apple:

Dear Developer,

We identified one or more issues with a recent delivery for your app, "MYAPPNAME" 1.0. Your delivery was successful, but you may wish to correct the following issues in your next delivery:

ITMS-90899: Apple silicon Mac support issue - The app is not compatible with the provided minimum macOS version of 12.4. It can run on macOS 13.0 or later. Please specify an LSMinimumSystemVersion value of 13.0 or later in a new build, or select a compatible version in App Store Connect. For details, visit: https://help.apple.com/app-store-connect/#/dev2de8e790b

After you’ve corrected the issues, you can upload a new binary to App Store Connect.

Best regards,

The App Store Team

Upvotes: 49

Views: 24371

Answers (6)

Jordan H
Jordan H

Reputation: 55705

We encountered the same "issue":

ITMS-90899: Macs with Apple silicon support issue - The app isn‘t compatible with the provided minimum macOS version of 12.5. It can run on macOS 13.0 or later. Please specify an LSMinimumSystemVersion value of 13.0 or later in a new build, or select a compatible version in App Store Connect.

We did not have an LSMinimumSystemVersion specified and did not want to specify one. It's an iOS app, the macOS compatibility should be determined automatically. Seems the message is wrong too, our app was compatible with versions before 13.0. We found if we changed our iOS deployment target from 15.6 to 15.0 the issue goes away. Not sure why, seems like a bug on Apple's end.

Upvotes: 2

Valley-Jeff
Valley-Jeff

Reputation: 796

I ran into the same error a couple of days ago. In Xcode:

  1. Select info.plist in Project Navigator
  2. Right-click on "Information Property List" at the top and select "Add Row"
  3. Select "Minimum System Version" from the "Bundle identifier" droplist.
  4. Set the type to "String".
  5. I put 13.0.0 for the value. Obviously this will vary based on your environment and what platforms you are supporting.

This adds the following <key> and <string> elements to your Info.plist file:

<plist version="1.0">
    <dict>
        <key>LSMinimumSystemVersion</key>
        <string>13.0.0</string>
    </dict>
</plist>

Then I recreated the archive and redeployed the app. App Store Connect no longer complains about the missing value.

Upvotes: 78

kiril kiroski
kiril kiroski

Reputation: 1036

You can add

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>LSMinimumSystemVersion</key>
    <string>14.0</string>
</dict>
</plist>

or

enter image description here

Upvotes: 4

hotdogsoup.nl
hotdogsoup.nl

Reputation: 2320

If you get this error but don't want to make your app available on iOS at all:

In App Store Connect, click "Apps" and then next to the plus button (to add a new app) there is a menu button.

Click "iOS Apps on Mac Availability and a screen appears where you can select which apps should be made available on macOS.

App Store Connect

Upvotes: 19

benc
benc

Reputation: 2051

There are two ways to address this support issue:

1- Turn off "iPhone and iPad Apps on Apple Silicon Macs".

You can do this per-app, or across all apps in your Apple Connect account. The link in the email points to the documentation.

(NOTE: This is apparently on by default, in new App Store Connect accounts.)

2- If this value is un-set, set it in Info.plist.

The lack of the value seems to trigger this warning, setting it makes it go away for the next build.

NOTE: I think a lot of the text of that email template is possibly incorrect/wrong/inaccurate.

1- It says I had set the value to "12.6", but I hadn't. The template is picking up some default value?

2- It says the value can't be below "13.0". That didn't make much sense to me (my iOS target is set to 15.6 on both project and app-target).

If my target was "16.x", I'd understand why "13.0" would be required. At the same time, after a casual search, I don't see any documented dependency.

3- TestFlight obeys the setting, but "12.6" works.

When I set to 13.0, the build appears in macOS TestFlight, but is disabled, as you would expect.

When I set it to 12.6, the build appears in macOS TestFlight, and is available. Loading and running that build appear to be fine.

NOTE: I'm using the same laptop I develop on, but I did not try running out of Xcode, because this project actually is iPhone only (newly created in Xcode 14.0, and the default Mac destination was removed early on).

(That also might be something that confuses App Connect?)

Upvotes: 1

Hitokage
Hitokage

Reputation: 803

I got the same issue and tried the accepted answer. Setting the LSMinimumSystemVersion to 13.0.0 gave me another error when trying to publish the app:

Invalid LSMinimumSystemVersion - The LSMinimumSystemVersion Info.plist key has the value “13.0.0”. This string indicates the minimum macOS version required for this app to run. The value must be between 11.0 and 12.3 and be formatted as “x.x.x.”

I solved it by adding

<key>LSMinimumSystemVersion</key>
<string>12.3.0</string>

to the Info.plist file and also setting the iOS Deployment Target to 12.3 in the project settings. I suspect that to be the main issue since the versions below the target one are probably unsupported by the build. The minimum versions are probably chosen by Apple and might get higher in the future so it's necessary to build always for the officially required range.

Upvotes: 7

Related Questions