App crashes on launch for iOS 12 users after App Store release (Xcode 16.4) — BKSProcessErrorDomain bootstrap-failed

Hi everyone,

I'm building an app in Xcode 16.4 with a minimum deployment target of iOS 12.

The last time I built with this configuration was November 2025 — that build worked perfectly fine. I'm aware that builds from Xcode 16.4 will no longer be accepted by Apple after April 28, 2026, so I decided to push one final update before that deadline.

Here's what I did:

  • Built the app with no changes to build settings
  • Uploaded to TestFlight
  • Tested on iOS 12, iOS 26, and a few other versions — everything looked good
  • Passed App Review
  • Published to the App Store

Now users on iOS 12 are reporting that the app crashes immediately on launch. Users on iOS 13-26 are unaffected.

We've effectively lost a significant portion of our users overnight. We'd really like to restore functionality for them before April 28 — after that we plan to raise the minimum deployment target anyway.

There are no crash logs available, as the app appears to never reach application code at all. Below are the relevant logs from Console.app:

default  16:33:49.012231+0400  SpringBoard  Bootstrapping MY_BUNDLE_ID with intent foreground-interactive

error  16:33:49.021533+0400  SpringBoard  [MY_BUNDLE_ID] Bootstrap failed with error: <NSError: 0x280f59aa0; domain: BKSProcessErrorDomain; code: 1 (bootstrap-failed); reason: "Failed to start job">

error  16:33:49.021748+0400  SpringBoard  Bootstrapping failed for <FBApplicationProcess: 0x101cb4070; MY_BUNDLE_ID; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID MY_BUNDLE_ID" UserInfo={NSLocalizedDescription=Unable to bootstrap process with bundleID MY_BUNDLE_ID, BKSProcessExitReason=0, NSLocalizedFailureReason=Failed to start job, NSUnderlyingError=0x280f58780 {Error Domain=NSPOSIXErrorDomain Code=3 "No such process" UserInfo={NSLocalizedFailureReason=The process failed to exec, NSLocalizedRecoverySuggestion=Consult /var/log/com.apple.xpc.launchd/launchd.log for more information, NSLocalizedDescription=Unable to get valid task name port right for pid 241}}, BSErrorCodeDescription=bootstrap-failed}

default  16:33:49.021934+0400  SpringBoard  Adding: <FBApplicationProcess: 0x101cb4070; MY_BUNDLE_ID; pid: -1>

default  16:33:49.022111+0400  SpringBoard  <FBApplicationProcess: 0x101cb4070; MY_BUNDLE_ID; pid: -1> exited.

default  16:33:49.023325+0400  SpringBoard  Removing: <FBApplicationProcess: 0x101cb4070; MY_BUNDLE_ID; pid: -1>

default  16:33:49.039576+0400  assertiond  Submitting new job for "MY_BUNDLE_ID" on behalf of <BKProcess: 0x100d119f0; SpringBoard; com.apple.springboard; pid: 48; agency: SystemShell; visibility: foreground; task: running>

default  16:33:49.039982+0400  assertiond  Submitted job with label: UIKitApplication:MY_BUNDLE_ID[0xed03][58]

error  16:33:49.040128+0400  assertiond  Unable to obtain a task name port right for pid 241: (os/kern) failure (0x5)

error  16:33:49.040286+0400  assertiond  Failed to start job with error <NSError: 0x100c3f180; domain: NSPOSIXErrorDomain; code: 3; reason: "The process failed to exec"> {
    description = "Unable to get valid task name port right for pid 241";
    failureReason = "The process failed to exec";
    recoverySuggestion = "Consult /var/log/com.apple.xpc.launchd/launchd.log for more information";

Has anyone encountered this recently? Any help would be greatly appreciated.

P.S. I tried rebuilding from scratch without any code changes and uploading a fresh build to TestFlight — but now it won't even launch from TestFlight on iOS 12.

Answered by DTS Engineer in 882822022

Distribution through the App Store requires a minimum deployment target of iOS 15. For future reference, you can find this information listed on the Xcode Support webpage.

I'm seeing exactly the same issue. I've filled a radar (feedback/22395634)

Distribution through the App Store requires a minimum deployment target of iOS 15. For future reference, you can find this information listed on the Xcode Support webpage.

Thanks for the clarification.

However, this is quite concerning from a developer and user-impact perspective.

This app version was: • successfully built and uploaded with Xcode 16.4 • accepted in App Review • distributed through the App Store

Despite having a deployment target of iOS 12, the build is now crashing on launch for all iOS 12 users, without any prior warning during submission or review.

As a result, a previously working user base on iOS 12 has effectively lost access to the app overnight after updating, which is a significant regression in functionality.

If iOS 15 is now a strict requirement for App Store distribution, it would be much safer for developers if: • the upload was rejected at submission time, or • a clear warning was shown before release

rather than allowing distribution of a build that cannot run on supported devices declared in the app’s deployment target.

Is there any recommended way to:

Restore functionality for existing iOS 12 users (e.g. keep last compatible version available), or Prevent this situation when submitting updates in the future?

Appreciate your guidance.

We used Xcode 26.2 to successfully build iOS 12 apps before March 25. After that, the same code crashes on iOS 12 at startup.

It would be great if Apple officially confirms if it drops iOS 12 support in such a weird way, or if it was an issue that can be resolved.

We're aware of this issue and a resolution is in the works.

Accepted Answer

We're aware of this issue and a resolution is in the works.

@Manuel_Apps

I am in the same situation... the current version of my app on the App Store is defunct for iOS 12 people. I am now working on a build with target iOS 15. As soon as it’s submitted and released I am planning on making the broken release unavailable. This way iOS 12 users have to uninstall the broken version so they can reinstall the (still working) version before that.

I totally agree with you. I wish Xcode 16 (the first Xcode that did not support iOS 12 anymore) would have prevented me from building the app with the unsupported target. Instead it was waved through without warning. Yes, the Xcode support page said it didn’t support iOS 12, yet there was no hard stop. I was not aware I was sitting on a time bomb for at least 1 year. I thought only debugging was not supported but building was -- because it worked.

The broken app happened a few days ago when my customer was holding an event in front of an audience, some of which had iOS 12 on their iPads. One can imagine they were not happy when the new release did not work.

FWIW here’s my post with the same story

I have tried to build the app store bundle and test on a local device via dropping the .ipa Apple Configurator. I still have the same issue.

Would this be fixed once it is submitted and deployed with App Store version for iOS 12 devices?

Hi, we are seeing the same issue with our app on iOS 12.5.8. Many of our users have reported crashes, and we've received several one-star reviews as a result. Our team is eager to get this resolved. Any updates or suggestions would be greatly appreciated—thank you!

Same situation here.

@Biochili - how do you plan to make the broken release unavailable and give iOS 12 users access to an older build? I don't see how to do that in AppStore Connect.

@qpwr See this method to make builds unavailable: https://developer.apple.com/help/app-store-connect/manage-your-apps-availability/make-a-version-unavailable-for-download

First I am uploading a new build with target iOS 15. In my case this is app 2.15.2. This will prevent iOS 12 users from getting that version or future versions (end of the road for them!).

Second, I will make 2.15.1 unavailable using the function above (this build is broken for iOS 12 users due to the bootstrap problem this thread is about). iOS 12 users can then make a fresh install of 2.15 which is the last known version to work for them.

Note that I cannot just make the current App Store version unavailable, the availability method does not let me do that (I can untick the box but the save button doesn’t save it). I can only make earlier versions unavailable. Therefore I first have to upload a new version (2.15.2 in my case).

Edit: Now that Apple have fixed the issue I can upload a new build for iOS 12. Too bad, have spent half the night to add UIScene support.

App crashes on launch for iOS 12 users after App Store release (Xcode 16.4) — BKSProcessErrorDomain bootstrap-failed
 
 
Q