Zoom iOS SDK - Xcode 11 - Appstore Support

Does Zoom iOS SDK support Xcode 11.3?
The reason that why I am asking this is I couldn’t find ‘Linked Binaries’ and ‘Linked Frameworks’ sections in the Xcode 11. What is the correct way to do it in Xcode11? Also, I want to know is there any issues related to SDK when uploading an integrated app to Appstore using Xcode 11.

I am using Zoom SDK version 4.6.21xxx.

Hi @ganukep,

Thanks for the post. The iOS SDK does not have full Xcode 11 support, but you could still build SDK app using Xcode 11(If you are not using any Xcode 11 new features like Dark mode, UIScene, SwiftUI,etc. in your app).

For Xcode 11 integration, you may add the framework in General > Frameworks, Libraries, and Embedded Content; And in Build Phases > Copy Bundle Resources.

Hope this helps. Thanks!

Hello zoom team,

Xcode 11.3.1 ,
latest SDK versions 4.6.21

App is running properly in real device but while upload on TestFlight getting Errors:

ERROR ITMS-90058: “This bundle is invalid. The value for key CFBundleVersion [ZoomBundleVersionNumber] in the Info.plist file must be a period-separated list of at most three non-negative integers. Please find more information about CFBundleVersion at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion

ERROR ITMS-90059: “This bundle Payload/Vidyalaya.app/Frameworks/MobileRTCScreenShare.framework is invalid. The value for key CFBundleVersion [ZoomBundleVersionNumber] in the Info.plist file must be no longer than 18 characters. Please find more information about CFBundleVersion at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion

ERROR ITMS-90124: “The binary is invalid. The executable ‘Vidyalaya.app/Frameworks/MobileRTCScreenShare.framework/MobileRTCScreenShare’ has type ‘OBJECT’ that is not valid. Only ‘EXECUTE’ is permitted.”

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.”

ERROR ITMS-90171: “Invalid Bundle Structure - The binary file ‘Vidyalaya.app/Frameworks/MobileRTCScreenShare.framework/MobileRTCScreenShare’ is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure.”

ERROR ITMS-90210: “Missing load commands. The executable at ‘Vidyalaya.app/Frameworks/MobileRTCScreenShare.framework’ does not have the necessary load commands. Try rebuilding the app with the latest Xcode version. If you are using third party development tools, contact the provider.”

ERROR ITMS-90362: “Invalid Info.plist value. The value for the key ‘MinimumOSVersion’ in bundle Vidyalaya.app/Frameworks/MobileRTCScreenShare.framework is invalid. The minimum value is 8.0”

ERROR ITMS-90635: “Invalid Mach-O Format. The Mach-O in bundle “Vidyalaya.app/Frameworks/MobileRTCScreenShare.framework” isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains arm64(machine code), while the nested bundle Mach-O contains armv7(machine code) and arm64(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting.”

Hi @manish.surti,

Thanks for the reply. You could modify the ZoomBundleVersionNumber in MobileRTCScreenShare.framework/Info.plist to be the SDK version number. We will fix this in the next release as well.

Thanks!

Hi, have the same problem.
Xcode 11.5 ,
latest SDK v4.6.21666.0428

I modify the ZoomBundleVersionNumber but it’s resolves one issue of eight.
What should I do to uploading in AppStore?

Hi @trex1,

Thanks for using Zoom SDK. Are you using the device-only version(The one downloaded from the master branch of the github repo) or the all version(The version that supports both device+ simulator)? Please use the device only version since Apple does not like the SDKs that have simulator support.

Thanks!

Hi Carson,

I am facing the below issue while uploading apps to Testflight. I am using Device -Only version. Please check the error below. Could you please help me to fix this.

App Store Connect Operation Error
ERROR ITMS-90635: “Invalid Mach-O Format. The Mach-O in bundle “Prenatal & Postnatal Workout.app/PlugIns/Prenatal.appex/Frameworks/MobileRTCScreenShare.framework” isn’t consistent with the Mach-O in the main bundle. The main bundle Mach-O contains armv7(machine code) and arm64(machine code), while the nested bundle Mach-O contains armv7(machine code) and arm64(machine code). Verify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting.”

1 Like

same error here and more …

App Store Connect Operation Error
The binary is invalid. The executable ‘websia.app/Frameworks/MobileRTCScreenShare.framework/MobileRTCScreenShare’ has type ‘OBJECT’ that is not valid. Only ‘EXECUTE’ is permitted.

macOS Mojave 10.14.5
xCode 10.2.1 (10E1001)

Hi @pandiyaraj,

This Stripping Unwanted Architectures From Dynamic Libraries In Xcode

And add on podfile

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

fix, but not fix for:

App Store Connect Operation Error
Invalid Bundle Structure - The binary file ‘.app/Frameworks/MobileRTCScreenShare.framework/MobileRTCScreenShare’ is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure.

Hi fernando,

Thanks for your guidance, I have added that script in Podfile,
Still i am getting same error while uploading apps to Testflight.

Hi Zoom Team,

What is the status of this issue. When you are planning to release a fix for this issue?

Hey @pandiyaraj and @ganukep,

Can you provide the errors you are still seeing?

Thanks!
Michael

Hello
I have the same issue on Xcode 12. What can I do wrong?

Hey @stas.hryhoriev

Thanks for using the dev forum.

There are a few different reasons this issue can happen, so lets troubleshoot together :slight_smile:

  1. Every target in your project must have enable bitcode set to “NO”. For each target in your project: click “Build Settings” then search for “Bitcode” and set the value for Enable Bitcode to be “NO”.
  2. MobileRTC.framework in your main target must be embedded and signed, not linked.
  3. In your ScreenShare target: Do not add MobileRTC.framework, and make sure MobileRTCScreenShare.framework and ReplayKit is set to “Do not Embed”
  4. If you are using the SDK version v5.2.41735.0928 or later you must also perform the following updates: Zoom crshes/stops working after few mins in the call after the update to iOS 14 on iphone XR

Let me know if that helps, or if you run into further issues
Thanks!
Michael

There is one problem. I have the case when the MobileRTC.framework and MobileRTCScreenShare.framework are in the same target. It worked great before. Was the problem due to SDK update? Is it possible to place the MobileRTC.framework and MobileRTCScreenShare.framework in the same target.

Hey @stas.hryhoriev

Interesting! Can you provide a screenshot of your framework settings for that target?

Thanks!
Michael

Hello, here it is

Hey @stas.hryhoriev

Can you try changing MobileRTCScreenShare.framework to “Do not embed” while leaving MobileRTC.framework on “Embed and sign”?

Thanks!
Michael

Thanks a lot, it works!

1 Like

@stas.hryhoriev

Awesome! I am super happy to hear!

Let us know if you have any other questions.
Thanks!
Michael