Description
Archiving an iOS app with Xcode 27.1 fails when the archive includes the new arm64e.x1 architecture. Lottie is emitted as an arm64-apple-ios.swiftmodule, and the consumer target's arm64e.x1 Swift compilation cannot resolve the module.
A simulator build succeeds; the failure only appears when creating a Release archive for a generic iOS device.
Environment
- Lottie: 4.6.0 via Swift Package Manager
- Xcode: 27.1 (27A9269)
- Configuration: Release
- Destination: generic iOS device
Error
SwiftDriver <consumer app> normal arm64e.x1 com.apple.xcode.tools.swift.compiler
BadgeInfoView.swift:10:8: error: Unable to resolve module dependency: 'Lottie'
Module file '<DerivedData>/Build/Intermediates.noindex/ArchiveIntermediates/<consumer app>/BuildProductsPath/Release-iphoneos/Lottie.swiftmodule/arm64-apple-ios.swiftmodule' is incompatible with this Swift compiler: built for incompatible target
Steps to reproduce
- Create an iOS app project with Xcode 27.1.
- Add Lottie 4.6.0 using Swift Package Manager.
- Import
Lottie from an app source file.
- Archive the app in Release for a generic iOS device with the standard device architectures, including
arm64e.x1.
Expected behavior
The Lottie module resolves for every architecture requested by Xcode's standard device archive, or the package constrains unsupported architectures so the consumer target does not fail while compiling.
Actual behavior
The consumer's arm64e.x1 compilation attempts to load Lottie's arm64-apple-ios.swiftmodule and fails due to the incompatible target.
Workaround
Adding arm64e.x1 to EXCLUDED_ARCHS[sdk=iphoneos*] allows the app to archive as arm64 and upload successfully to App Store Connect:
EXCLUDED_ARCHS[sdk=iphoneos*] = arm64e arm64e.x1
This may involve the interaction between Xcode 27.1's new architecture selection and SwiftPM module output rather than Lottie-specific source code, but Lottie is the module that blocks the archive in this project.
Description
Archiving an iOS app with Xcode 27.1 fails when the archive includes the new
arm64e.x1architecture. Lottie is emitted as anarm64-apple-ios.swiftmodule, and the consumer target'sarm64e.x1Swift compilation cannot resolve the module.A simulator build succeeds; the failure only appears when creating a Release archive for a generic iOS device.
Environment
Error
Steps to reproduce
Lottiefrom an app source file.arm64e.x1.Expected behavior
The Lottie module resolves for every architecture requested by Xcode's standard device archive, or the package constrains unsupported architectures so the consumer target does not fail while compiling.
Actual behavior
The consumer's
arm64e.x1compilation attempts to load Lottie'sarm64-apple-ios.swiftmoduleand fails due to the incompatible target.Workaround
Adding
arm64e.x1toEXCLUDED_ARCHS[sdk=iphoneos*]allows the app to archive as arm64 and upload successfully to App Store Connect:This may involve the interaction between Xcode 27.1's new architecture selection and SwiftPM module output rather than Lottie-specific source code, but Lottie is the module that blocks the archive in this project.