Cordova-plugin-iosrtc: Failed to publish on appStore

Created on 28 Oct 2019  路  16Comments  路  Source: cordova-rtc/cordova-plugin-iosrtc

Expected behavior

Be able to distribute on AppStore

Observerd behavior

App Store Connect Operation Error
ERROR ITMS-90087: "Unsupported Architectures. The executable for My.app/Frameworks/WebRTC.framework contains unsupported architectures '[x86_64, i386]'."

App Store Connect Operation Error
ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at 'My.app/Frameworks/WebRTC.framework/WebRTC' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."

App Store Connect Operation Error
ERROR ITMS-90125: "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."

Steps to reproduce the problem

1. cordova build ios --release --prod
2. Build generic iOS device
3. Archive
4. Distribute

Platform information

  • Cordova version: 7.1.0
  • Plugin version: 6.0.0 master
  • iOS version: N/A
  • Xcode version: 11.1
bug libwebrtc

Most helpful comment

See #421

node plugins/cordova-plugin-iosrtc/extra/ios_arch.js --extract
node plugins/cordova-plugin-iosrtc/extra/ios_arch.js --device
node plugins/cordova-plugin-iosrtc/extra/ios_arch.js --clean
cordova platform remove ios
cordova platform add ios
file platforms/ios/*/Plugins/cordova-plugin-iosrtc/WebRTC.framework/WebRTC
cordova build ios --device

All 16 comments

See #421

node plugins/cordova-plugin-iosrtc/extra/ios_arch.js --extract
node plugins/cordova-plugin-iosrtc/extra/ios_arch.js --device
node plugins/cordova-plugin-iosrtc/extra/ios_arch.js --clean
cordova platform remove ios
cordova platform add ios
file platforms/ios/*/Plugins/cordova-plugin-iosrtc/WebRTC.framework/WebRTC
cordova build ios --device

Hi @hthetiot and thank you for your commitment!
I do everything according to your instruction, but i receive this:

The following build commands failed:
        Ld /Users/mkunytsa/Work/My/mobile-app/platforms/ios/build/emulator/Chanty.app/Chanty normal x86_64
(1 failure)
Error: xcodebuild: Command failed with exit code 65

and this

ld: warning: ignoring file Chanty/Plugins/cordova-plugin-iosrtc/WebRTC.framework/WebRTC, missing required architecture x86_64 in file Chanty/Plugins/cordova-plugin-iosrtc/WebRTC.framework/WebRTC (2 slices) Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_RTCCameraVideoCapturer", referenced from: objc-class-ref in PluginRTCVideoCaptureController.o

Also do we need here embed & sign?
Screen Shot 2019-11-13 at 9 21 12 PM

Thank you for your help!

same issue, even with instructions above with latest XCode, app built with iosrtc plugin will give those errors....

https://github.com/cordova-rtc/cordova-plugin-iosrtc#ios--1331-device-support

Do you guys have a Apple developper account?

Cc @pcvengros

https://github.com/cordova-rtc/cordova-plugin-iosrtc#ios--1331-device-support

Do you guys have a Apple developper account?

yes, and was ok before adding iosrtc plugin - I trying the 7.0 branch. I have tried steps as described above.

@pcvengros I just published an app it works for me.
"Undefined symbols for architecture x86_64" mean you cannot run on emulator if you removed the architecture.

If you have "Undefined symbols for architecture x86_64" it's because you trying to run on emulator i beleive. If you can custom support please contact

@pcvengros I just published an app it works for me.
"Undefined symbols for architecture x86_64" mean you cannot run on emulator if you removed the architecture.

If you have "Undefined symbols for architecture x86_64" it's because you trying to run on emulator i beleive. If you can custom support please contact

I am getting it when publishing to Apple. I did try to step above, the result file has shrinked from approx 68MB to 24MB, so it did something. But still after I build the project and do archive from xcode to publish it, resulting IPA uploaded file will get this error.

@pcvengros can you contact me via so we make a debug session via sylaps.com ?

I am having the very same issue using 6.0.8 of the cordova-plugin-iosrtc plugin.
@pcvengros did you get around it?

@rgustavsson

  1. do you have a paid Apple iOS account setup on Xcode
  2. Did you follow the instructions to remove x86 and keep only ARMV7 WebRTC binaries here: https://github.com/cordova-rtc/cordova-plugin-iosrtc/blob/master/docs/Building.md#apple-store-submission
  3. Are you trying to run on emulator or submit to the store

@pcvengros I just published an app it works for me.
"Undefined symbols for architecture x86_64" mean you cannot run on emulator if you removed the architecture.
If you have "Undefined symbols for architecture x86_64" it's because you trying to run on emulator i beleive. If you can custom support please contact

I am getting it when publishing to Apple. I did try to step above, the result file has shrinked from approx 68MB to 24MB, so it did something. But still after I build the project and do archive from xcode to publish it, resulting IPA uploaded file will get this error.

You need to re-achive after removing the x64 architecture, here the problem is your architecture for the archive target x64 but you removed it from WebRTC binaries

In any case the problem is between the chair and the keyboard here not with iosRTC

Please don't comment closed issue or on comment that have nothing to do with the original issue, create a separate issue or expect for your comment to be 1. Ignored, 2. Mocked, 3. Deleted.

@hthetiot
Many thanks for the answer.
Yes, I have a paid apple account and I was trying to distribute to the App Store.
I got it to work now. I simply didn't follow the instructions in the correct order, or just plain wrong.
I'll be dancing all day now :)

Was this page helpful?
0 / 5 - 0 ratings