iOS Distribution build with iOS 16.1 SDK

I just push a new build of my app and receive one notification from Apple.

SDK Version Issue. This app was built with the iOS 15.0 SDK. Starting April 2023, all iOS apps submitted to the App Store must be built with the iOS 16.1 SDK or later, included in Xcode 14.1 or later. (90725)

What did I have todo deal Xojo to solve this ?

Hello Sebastien,

Xojo has been notified of this problem, and it is already fixed for the next release.
case #72169 in the tracker.

1 Like

I literally only managed to get things working with the existing Xcode etc a couple of weeks ago.
Made a build, uploaded to App Store, got the same message.

{rant}
It’s basically ‘thanks for that, we will accept it on sufferance, but in a couple of weeks you need to start installing new stuff all over again’
Why can’t Apple just leave it the eff alone?
What’s wrong with iOS 16 that it will not support the code in iOS 15?
{/rant}

So I downloaded Xojo 2023
Everything compiles, Xcode isn’t showing me any available updates.

Short of attempting an upload to App Store, how can I check whether the compiled app was now done using SDK 16.1 ?

I don’t quite understand what you mean with this.

SDK Version Issue. This app was built with the iOS 15.0 SDK. Starting April 2023, all iOS apps submitted to the App Store must be built with the iOS 16.1 SDK or later

(New/Updated) iOS Apps (uploaded to App Store Connect) always need to be linked against a current iOS SDK.
But that doesn’t mean you can’t support older iOS versions.

Using Xojo this basically means you’ll need the latest Xojo version, and depend on Xojo updating it’s iOS Build Target product in time.

I don’t know how to check that using Xojo before uploading.
The Release Notes for 2023r1:

72169 Updated to the iOS 16.2 SDK.

If you look at the Info.plist file inside the bundle, find the DTPlatformVersion and DTSDKName key:

<key>DTPlatformVersion</key>
<string>16.2</string>

<key>DTSDKName</key>
<string>iphoneos16.2</string>
1 Like

An app written using SDK15 , and which is running on (who knows? ) thousands of devices, doesn’t suddenly stop working because a shiny new SDK exists, does it?
After all, if an SDK15 app is installed and working, and NO update is uploaded, it doesn’t just die for the end user.
I am quite sure it is deliberate, but this constant insistence that you have to use the latest SDK, OS etc is frustrating and expensive.

1 Like

My mother, who is very careful with her devices, has a 1st generation iPad which works perfectly but has become unusable. Unable to browse the web, unable to update apps. Most of its applications do not work because they are not up to date (Safari, Chrome, Facebook…).

It’s the same thing for mac computers that are no longer maintained by Apple: system update impossible, safari, dropbox rendered unusable (soon Chrome). We will throw these computers in the trash. Before, we offered them to schools or associations. This is no longer possible. Planned obsolescence.

It’s frustrating for end user and frustrating for developper accomplice in spite of themselves

1 Like

I have several such devices and it is infuriating.
I cannot use them, and I am psychologically unable to throw them away.
I could be persuaded to throw them at Tim Cook, maybe… :slight_smile:

1 Like

If you don’t update your app, the new SDK will not affect you.

It’s all about Apple making sure that a current SDK is used for updates or new apps, with which all the functions of current devices can also be addressed…

That’s amusing…

Why?

Quite often the first SDK released in the fall contains bugs that the developer cannot work around, just like any new OS.

When I was at Xojo, we got burned a few times by upgrading the SDK too early, and so now they are usually updated as part of the r1 cycle of the following year.

The fact that Apple is only requiring the iOS 16.1 SDK could also mean that there’s some critical flaw in the iOS 16.0 SDK that exposes a vulnerability of some sort. If they were as petty as is being suggested, they would have required the iOS 16.3 SDK which was released yesterday, and Xojo would have had to do a quick point release to fix it.

One thing that Xojo could do to help their developers would be to ship two iOS (and probably macOS) frameworks from September to the following spring with a way in the IDE to chose between them. That would allow developers to start taking advantage of the new SDKs for development purposes while still shipping updates in the previous one. Note: this is not a trivial feature request. IIRC it would require some large IDE changes to make possible. I’m talking about days or weeks, not hours, of planning, coding and testing.

1 Like