ITMS-90334 error when executing a Xcode Cloud TestFlight build

Apple Recommended

  • That's good news! I will adjust my workflow accordingly and test it with the new macOS beta.

  • Thanks a lot, i wish to have a better reactivity and clarity in the answer next time. in 5 months waiting, I switch 3 apps to Fastlane.

  • 👍 Thanks a lot it is working as expected now!!!!

Replies

Same issue for us. Works fine manually via Xcode.

Trigger Xcode Cloud build. 2 of our packages result in the same error.

The packages are pure Swift. Our codebase is pure swift. It is an iOS app.

  • This is interesting. I assumed it has something to do with my Swift Packages used and embedded by the Objective-C frameworks. But this seams not to be the case.

    By the way, flagging your reply as "accepted solutions" was an "accident" on my part. But there seams to be now way to un-flag a reply once it has been set. So from my point of view, I'm still looking for an answer!

Add a Comment

Hi, has anyone had any luck with this? I have the exact same problem.

I tried fetching the archive from the Xcode Cloud build artifacts, replace the "Frameworks" directory with one from a local build, tried the validation from the Xcode Organizer and it worked.

I also opened the framework binaries with an hex editor, and those built with Xcode Cloud have those bogus identifiers (which btw all begin with 55554944), whereas the ones built locally have my Team ID.

I have absolutely no idea how to change this when building from Xcode Cloud, but maybe it's a hint?

  • Thank you for the details! But no luck so far.

Add a Comment

I also have same issue. My issues resulted by RxSwift from SPM.

For me it was related to static vs dynamic builds, detailed it here: https://stackoverflow.com/questions/72291080/itms-90334-invalid-code-signature-identifier-when-building-via-xcode-cloud/73653319#73653319

There is an issue with Ad-Hoc signing of dynamic libraries built either through a Swift Package, or through an Xcode target with a non-standard Bundle ID (i.e. one not using reverse DNS format), resulting in the ITMS-90334 error message. We'd appreciate getting reports of this filed through Feedback Assistant, and then posting the FB number here so that I can follow-up on the reports internally. Even if the following workaround information is helpful to you, we'd still appreciate getting the Feedback reports.

The best practice for Swift packages is to not explicitly specify the LibraryType in the Product. By not specifying this value, you let Xcode decide the best linkage type for your app's usage of the package. If you have a package that is explicitly marked as dynamic, removing the library type means Xcode will link the package statically if the package is only imported by one target, which will avoid the issue.

If the package is imported by more than one target, Xcode will choose dynamic linkage if the LibraryType is not specified; manually selecting static in this scenario is not a workaround, as it will introduce duplicate symbol issues into the app. To workaround the issue in this scenario, refactor how your targets are structured, reducing the reliance on the package to a single target, so that this becomes the first scenario I described where Xcode can safely link the library statically while avoiding the code signing error, as well as avoiding duplicate symbol issues.

  • @edford

    "To workaround the issue in this scenario, refactor how your targets are structured, reducing the reliance on the package to a single target"

    This doesn't seem like a very feasible workaround... Take a library like PromiseKit for example, how should one simply refactor the target structure to include the package only in one single target. It would defeat the purpose of using the library.

  • i did open a case in the support of Apple...

    please you have to simplify the procedure, i opened it a month ago and they are still on the "understanding my problem" phase because they couldn't see the video i send, and they need to have it upload in a link they send in separate email i never received.

  • @edford FB11517354

  • That's good news! I will adjust my workflow accordingly and test it with the new macOS beta.

  • Thanks a lot, i wish to have a better reactivity and clarity in the answer next time. in 5 months waiting, I switch 3 apps to Fastlane.

  • 👍 Thanks a lot it is working as expected now!!!!