# Swift Concurrency back-deploy issue

**URL:** <https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917>\
**Category:** Using Swift\
**Tags:** concurrency, xcode\
**Created:** [December 8, 2021, 8:09am UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917 "2021-12-08T08:09:21Z")\
**Posts on this page:** 11\
**Page:** 2

<div class="post-metadata">

**Author:** ![gwendal.roue](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/gwendal.roue/32/13992_2.png) [@gwendal.roue](https://forums.swift.org/u/gwendal.roue)\
**Post date:** [January 12, 2022, 8:20am UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/21 "2022-01-12T08:20:37Z")

</div>

Thanks for mentioning that. Moving async apis to an external library is indeed a possible workaround for libs that have introduced async apis as "leaves", which means that nothing internally depends on them, and that they are all "conveniences" around other non-async public apis.

But other libraries won't be able to do that. And I have questions about retroactive conformances to `Sendable`, especially for protocols. Ultimately, moving async apis to external libraries hinders further integration of Swift concurrency and future developments.

Swift Concurrency has never been described as a breaking language feature that requires libraries to bump their OS requirements. Library authors have done their job with `#if` and conditional compilation. That's why the fix is seen as belonging to Xcode or Swift.

---

<div class="post-metadata">

**Author:** ![Keith](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/keith/32/291_2.png) [@Keith](https://forums.swift.org/u/Keith)\
**Post date:** [January 12, 2022, 6:11pm UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/22 "2022-01-12T18:11:12Z")

</div>

FYI for folks who are worried about this slipping into their binaries while they still deploy to iOS 12, you can validate that you shouldn't hit this issue by checking that the output of `otool -L path/to/foo.app/foo` doesn't contain `libswift_Concurrency`.

---

<div class="post-metadata">

**Author:** ![Douglas\_Gregor](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/douglas_gregor/32/1362_2.png) [@Douglas\_Gregor](https://forums.swift.org/u/Douglas_Gregor)\
**Post date:** [January 12, 2022, 6:13pm UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/23 "2022-01-12T18:13:52Z")

</div>

> [@Jon\_Shier](#):
>
> I'm sorry, I know this isn't appreciated, but is there any update on this or the other concurrency deployment issues? This is a rather critical issue, especially for those of us shipping frameworks which may trigger the problem in apps which don't otherwise use the concurrency APIs. Aside from just telling users to lock to the last pre-concurrency release, is there anything that can be done to mitigate the issue? Any timeline on fixes? I really hope we don't have to wait until the spring Xcode release for this to be fixed.

Sorry, we don't know of any mitigations nor can we publish a timeline when this will be fixed. I know it's frustrating. Folks deploying prior to iOS 13 / macOS 10.15 will likely need to stay on Xcode 13.1 or not expose themselves to any `async`.

Doug

---

<div class="post-metadata">

**Author:** ![gwendal.roue](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/gwendal.roue/32/13992_2.png) [@gwendal.roue](https://forums.swift.org/u/gwendal.roue)\
**Post date:** [January 13, 2022, 10:09am UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/24 "2022-01-13T10:09:11Z")

</div>

Thanks for acknowledging that this need to be "fixed", Doug!

That's both good and bad news:

It's good news because we can hope for a fix to come eventually.

It's also bad news because this is a strong incentive to do nothing, from the point of view of library authors. This means that library users will face crashes, and won't be able to upgrade their libs. This also means that library authors will have to support those users, and also apply eventual critical patches and fixes in two branches of their libs (the one without async, and the one with async).

We really hope for a quick resolution 🤞

---

<div class="post-metadata">

**Author:** ![AndyDent](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/andydent/32/6896_2.png) [@AndyDent](https://forums.swift.org/u/AndyDent)\
**Post date:** [January 28, 2022, 6:36am UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/25 "2022-01-28T06:36:02Z")

</div>

I encountered the bug with the current version 1.3.1 of Touchgram on the app store, with a user running 14.8.1. I build with XCode 13.1.

I did not explicitly add the Concurrency features but they may have been included via Realm.

---

<div class="post-metadata">

**Author:** ![AndyDent](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/andydent/32/6896_2.png) [@AndyDent](https://forums.swift.org/u/AndyDent)\
**Post date:** [January 31, 2022, 5:27am UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/26 "2022-01-31T05:27:19Z")

</div>

Yes Realm confirm it's a bug [Only TestFlight Crash (iOS ... \<15) · Issue #7562 · realm/realm-swift · GitHub](https://github.com/realm/realm-swift/issues/7562)

_we can no longer target iOS 12. With weak linking flags from Xcode release notes are able to target iOS 13+._

---

<div class="post-metadata">

**Author:** ![AndyDent](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/andydent/32/6896_2.png) [@AndyDent](https://forums.swift.org/u/AndyDent)\
**Post date:** [January 31, 2022, 5:30am UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/27 "2022-01-31T05:30:59Z")

</div>

> may trigger the problem in apps which don't otherwise use the concurrency APIs

That's exactly what happened to me - Realm brought them in and Touchgram 1.3.1 failed as a result. As I don't install any analytics or crash tracking, it took an in-person encounter with someone running 14.8 to work out what was happening.

Lessons learned, even if Testflight is of limited use (iMessage app extensions are more complicated case), it's still worth doing a smoke test. Also, keep some devices around on older iOS - I had nothing left between 12.5 and 15.0. Took 10 tries to find an old iPhone on eBay that's not been updated from 14 to 15.

---

<div class="post-metadata">

**Author:** ![Fahad](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/fahad/32/16096_2.png) [@Fahad](https://forums.swift.org/u/Fahad)\
**Post date:** [February 1, 2022, 4:55am UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/28 "2022-02-01T04:55:13Z")

</div>

From Xcode 13.3 Beta release notes:

```swift
Apps that use back-deployed Swift Concurrency on operating systems prior to macOS 10.15, iOS 13, tvOS 13, or watchOS 6 no longer crash on launch. (87789769)

```

Seems like a fix is in place?

---

<div class="post-metadata">

**Author:** ![Douglas\_Gregor](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/douglas_gregor/32/1362_2.png) [@Douglas\_Gregor](https://forums.swift.org/u/Douglas_Gregor)\
**Post date:** [February 1, 2022, 5:08am UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/29 "2022-02-01T05:08:21Z")

</div>

> [@Fahad](#):
>
> Seems like a fix is in place?

Yes, it’s fixed in Xcode 13.3 beta 1

---

<div class="post-metadata">

**Author:** ![toddthomas](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/toddthomas/32/6081_2.png) [@toddthomas](https://forums.swift.org/u/toddthomas)\
**Post date:** [February 8, 2022, 10:30pm UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/30 "2022-02-08T22:30:49Z")

</div>

This is wonderful, thank you so much @Douglas_Gregor and team. My team encountered this issue today, read through this thread with increasing concern, then cheered at the surprise happy ending! 😍

---

<div class="post-metadata">

**Author:** ![HugoGresse](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/hugogresse/32/30194_2.png) [@HugoGresse](https://forums.swift.org/u/HugoGresse)\
**Post date:** [June 1, 2023, 3:25pm UTC](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917/32 "2023-06-01T15:25:57Z")

</div>

Not sure if this helps but I am having the same issue, iOS 12.5.7  
XCode 14.3.

EDIT: I can confirm this is linked to LibTorch-Lite on iOS, removing the library fix the issue.  
Sorry for the thread update

[Previous page](https://forums.swift.org/t/swift-concurrency-back-deploy-issue/53917.md?page=1)
