ITMS-90428: Invalid Swift Support - The files libswift_Concurrency.dylib don’t match

I am trying to upload a new build of my app from the new Xcode 14.1 RC but it keeps failing with the below error:

ITMS-90428: Invalid Swift Support - The files libswift_Concurrency.dylib don’t match /Payload/MY_APP.app/MY_APP_WatchOS.app/libswift_Concurrency.dylib. Make sure the files are correct, rebuild your app, and resubmit it. Don’t apply post-processing to /Payload/MY_APP.app/MY_APP_WatchOS.app/libswift_Concurrency.dylib.

My bundle contains a watchOS 4.3 app which I thought might have been an issue, so I tried increasing it to watchOS 7.0 but still got the error.

Bitcode is disabled for all targets. I don't have post-processing enabled either.

Post not yet marked as solved Up vote post of dazboj Down vote post of dazboj
3.0k views

Replies

The lib swift_Concurrency.dylib framework contains the arm64e architecture, but my watchOS binary does not. I wonder if this is the problem, and if so, why?

Nope, tried removing arm64e architecture from /Payload/MY_APP.app/MY_APP_WatchOS.app/libswift_Concurrency.dylib but still get the same error.

/SwiftSupport/watchos/libswift_Concurrency.dylib:

contains: armv7k arm64_32 arm64 arm64e

size: 30594960

/Products/Applications/MY_APP.app/Watch/MY_APP_WatchOS.app/Frameworks/libswift_Concurrency.dylib

also contains: armv7k arm64_32 arm64 arm64e

size: 2224144

Ok, so regardless of me changing the architectures in:

/Products/Applications/MY_APP.app/Watch/MY_APP_WatchOS.app/Frameworks/libswift_Concurrency.dylib

as soon as I let Xcode do whatever it does when hitting "Distribute App", it removes the arm64e architecture from the watch app framework, but leaves it in the /SwiftSupport/watchOS/libswift_Concurrency.dylib version.

So they will never match!

Please, how can I fix this?

This is getting frustrating now. I've tried adding arm64e as an architecture to my watchOS app, but now get an error that it's an invalid implementation.

I'm having the exact same problem. I went through all of my build settings just to be sure there wasn't anything odd in there and it looks pretty clean. Frustrating.

I've tried so many builds and none work.

After letting Xcode package to upload, both the /SwiftSupport/watchOS/libswift_Concurrency.dylib and /Payload/MY_APP.app/Watch/MY_APP_WatchOS.app/Frameworks/libswift_Concurrency.dylib files contain the same swift version 5.7.1, however the one in /SwiftSupport contains the arm64e slice but the other one doesn't.

I can't get Xcode to export the build without arm64e and I'm not sure if I can just remove it from the .app or whether the signature will then be invalid?

I've tried removing the arm64e slice from the /SwiftSupport version after archiving the app, then letting Xcode create a build for the App Store, but exporting it, and both versions seem the same. However after uploading, I still get the error.

Success.

I finally got a build to be accepted.

I set ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO for the watch target.

I don't know how this might affect the actual running of the watch app, as I no longer have an Apple Watch to test it on, but the iOS app is running fine through TestFlight.

Have the same error

Same error

It works fine with Xcode 14.1 RC2

Hi,

I have the same issue here. So what's the solution?