Search code examples
iosjitsi

Archive Validation error: Unsupported Architecture, Invalid Segment Alignment, etc ~Jitsi Meet


I'm trying to use Jitsi Meet Framework and I tested on simulator and on actual device, both run well. Until I try to archive the app and validate. It gives these errors:

iTunes Store operation failed.
Unsupported Architectures. The executable for jitsi-meet.app/Frameworks/JitsiMeet.framework/Frameworks/WebRTC.framework contains unsupported architectures '[x86_64, i386]'.

iTunes Store operation failed.
Invalid Segment Alignment. The app binary at 'jitsi-meet.app/Frameworks/JitsiMeet.framework/Frameworks/WebRTC.framework/WebRTC' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version.

iTunes Store operation failed.
Invalid Bundle. The bundle at 'jitsi-meet.app/Frameworks/JitsiMeet.framework' contains disallowed nested bundles.

iTunes Store operation failed.
Invalid Bundle. The bundle at 'jitsi-meet.app/Frameworks/JitsiMeet.framework' contains disallowed file 'Frameworks'.

iTunes Store operation failed.
The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker.

XCode version: Version 8.3.3 (8E3004b)

Thanks for your help.


Solution

  • There are 2 problems with your build:

    1) You are using nested frameworks, which is not allowed by Apple. We were doing that in the beginning, but switched away from it because (as you have seen) submitting an app to the store fails. See the commit here: https://github.com/jitsi/jitsi-meet/commit/d7818be0672b8ea39eca01970c4678d0ffc91491

    2) The architecture of WebRTC.framework includes the simulators, which is not allowed when submitting to the store. You can filter the architectures by using this script in your build: https://github.com/jitsi/jitsi-meet/blob/master/ios/scripts/fixup-frameworks.sh