swift-nio icon indicating copy to clipboard operation
swift-nio copied to clipboard

ITMS-90714: Invalid binary - The app contains one or more corrupted binaries. Please rebuild the app and resubmit.

Open Megatron1000 opened this issue 1 month ago • 8 comments

Sorry for the lack of using the template but I don't have much info to provide on this only to say that I started getting errors from App Store Connect when submitting a Catalyst app using the 2.88 release.

The app passes validation but I later get an email saying:

ITMS-90714: Invalid binary - The app contains one or more corrupted binaries. Please rebuild the app and resubmit.

I've traced the issue back to using 2.88. Reverting the dependency to 2.86.2 solves the issue. Also worth noting that this issue doesn't reproduce on the iOS build of the app; only on the Catalyst build.

Megatron1000 avatar Nov 02 '25 20:11 Megatron1000

Hi @Megatron1000 - this is certainly odd. Have you got any additional information from the error that you may be able to share? I don't suppose you get logs, but maybe some more information about the failure.

Also, have you tried reverting to other versions between 2.86.2 and 2.88? Would be good to pinpoint exactly where the issue is.

gjcairo avatar Nov 03 '25 11:11 gjcairo

This might be of interest: https://developer.apple.com/forums/thread/751400

If you are defining extra linker flags in the Other Linker Flag build setting(such as -Xlinker -interposable), could you try removing them?

gjcairo avatar Nov 03 '25 14:11 gjcairo

Thanks for taking a look. Unfortunately, I've got no logs or other clues. Litterally just that error code.

I've scoured the Apple forums already and ran into that thread. I don't have any Other Linker flags set on this app.

I'll give it a go with a more recent NIO release and see if I can pinpoint it a bit better.

Megatron1000 avatar Nov 03 '25 21:11 Megatron1000

I can confirm the issue reported here. After two full days I discovered the culprit is Nio, and can be narrowed down to the upgrade from version 2.86.2 (which uploaded without issues) to 2.88.0 (which fails). I haven’t been able to test 2.87.0 yet.

The failure in App Store Connect appears to stem from the addition of the following files:

  • libswiftCompatibilitySpan.dylib in the SwiftSupport/macosx/ folder of the archive.
  • The same libswiftCompatibilitySpan.dylib embedded in the app bundle under Contents/Frameworks/libswiftCompatibilitySpan.dylib

ronaldmannak avatar Nov 08 '25 18:11 ronaldmannak

Uh…those are Swift runtime files. We aren’t supplying them. This feels like a Swift bug caused by us using Span.

Lukasa avatar Nov 08 '25 18:11 Lukasa

I just checked. The issue seems to be present in 2.87.0 as well. Reverting to 2.86.2 fixes the issue.

ronaldmannak avatar Nov 08 '25 19:11 ronaldmannak

@Lukasa the one change introduced in 2.87.0 that uses Span is https://github.com/apple/swift-nio/pull/3252 Does sound like a Swift bug though.

gjcairo avatar Nov 11 '25 10:11 gjcairo

Yeah, please file that as a bug report against upstream Swift, this has to be a bug on them.

Lukasa avatar Nov 11 '25 14:11 Lukasa