App built with Xcode 27 crashes at launch on iOS 16: missing Swift _ArrayBuffer._getElementSlowPath symbol
We are investigating a launch crash affecting older iOS devices after switching our production build environment from Xcode 26 to Xcode 27.
Our previous app release, built with Xcode 26, worked on these devices. The affected releases were built with:
- Xcode 27.0, build 27A266a
- iOS deployment target: 15.0
- Swift language mode: Swift 5 (SWIFT_VERSION = 5.0)
- Production Release configuration
Our current observations indicate that devices running iOS versions below 17 are affected, while devices running iOS 17 or later appear unaffected by this particular issue. We have not exhaustively tested every OS version.
Observed behavior
The system launch screen appears, then the app terminates immediately. Deleting and reinstalling the app does not resolve the issue.
We have two crash reports from a device identified as iPhone13,1, running iOS 16.3.1 (20D67). They are from two different app builds—2.7.2 (2) and 2.7.3 (1)—both archived using Xcode 27. Both report the same missing symbol:
Exception Type: EXC_CRASH (SIGABRT)
Termination Reason:
Namespace DYLD, Code 4, Symbol missing
Symbol not found:
_$ss12_ArrayBufferV19_getElementSlowPathyyXlSiFyXl_Ts5
Referenced from:
Topi.app/Topi
Expected in:
/usr/lib/swift/libswiftCore.dylib
(terminated at launch; ignore backtrace)
Running swift-demangle on this symbol produces:
generic pre-specialization <Swift.AnyObject> of
Swift._ArrayBuffer._getElementSlowPath(Swift.Int) -> Swift.AnyObject
The backtrace contains only dyld termination frames, including dyld4::prepare, dyld4::halt, and __abort_with_payload. This appears to occur before application startup code executes.
Investigation so far
The application uses Swift Package Manager dependencies, including third-party SDKs. We have not yet determined whether the missing-symbol reference originates from application code, compiled package source, or a statically linked prebuilt dependency.
The previous working release also had different application code, so we have not yet isolated the compiler change as the cause. Our next test is to archive the same source revision with Xcode 26 and Xcode 27, keeping resolved dependency versions and Release settings identical.
Questions
- Is this exact missing Swift symbol a known compatibility issue with Xcode 27.0 when deploying to older iOS versions?
- Should the compiler emit a local implementation or otherwise avoid requiring this specialization from an older OS runtime?
- What is the recommended way to identify which object file or static dependency introduced this reference into the final executable?
- Is there a supported workaround or a toolchain update addressing this issue while retaining support for iOS 15 and 16?
We can provide redacted crash reports and additional build or binary diagnostics if needed.