Undefined symbol: _OBJC_CLASS_$_ZoomVideoSDK

OK, I posted a few days ago re: audio and video issues with android and integrating the Video SDK into a custom app, which I managed to solve.

Currently trying to compile and build on an iMac to build an iOS version of the same app, and following the instructions.

I use VS Code for the most part on the mac, and I’m got it configured with yarn, so in my root app directory, I run

yarn run ios

it starts my iphone emulator, and tries to build the app, but fails with these error message (in Xcode, or in cmdline)

** CMD line error output **

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_ZoomVideoSDKVideoPreferenceSetting", referenced from:
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdkVideoHelper.o)
  "_OBJC_CLASS_$_ZoomVideoSDKSessionContext", referenced from:
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdk.o)
  "_OBJC_CLASS_$_ZoomVideoSDKInitParams", referenced from:
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdk.o)
  "_OBJC_CLASS_$_ZoomVideoSDKVideoOptions", referenced from:
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdk.o)
  "_OBJC_CLASS_$_ZoomVideoSDKAudioOptions", referenced from:
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdk.o)
  "_OBJC_CLASS_$_ZoomVideoSDKExtendParams", referenced from:
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdk.o)
  "_OBJC_CLASS_$_ZoomVideoSDK", referenced from:
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdkAudioHelper.o)
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdkCmdChannel.o)
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdkLiveStreamHelper.o)
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdkSession.o)
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdkLiveTranscriptionHelper.o)
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdkSessionStatisticsInfo.o)
      objc-class-ref in libreact-native-zoom-video-sdk.a(RNZoomVideoSdkUserHelper.o)
      ...
ld: symbol(s) not found for architecture x86_64

XCode error output

Undefined symbol: _OBJC_CLASS_$_ZoomVideoSDKVideoPreferenceSetting
Undefined symbol: _OBJC_CLASS_$_ZoomVideoSDKSessionContext
Undefined symbol: _OBJC_CLASS_$_ZoomVideoSDKInitParams
Undefined symbol: _OBJC_CLASS_$_ZoomVideoSDKVideoOptions
Undefined symbol: _OBJC_CLASS_$_ZoomVideoSDKAudioOptions
Undefined symbol: _OBJC_CLASS_$_ZoomVideoSDKExtendParams

I’ve seen hints re: running pod install with the arch x86_64 but I don’t have an M1 chip, I have an i5 and installing Rosetta isn’t an option

Screenshot from 2023-01-24 16-39-18

I tend to see this with my M1 Mac, and Rosetta does fix it -but in your case, I’m not sure. Have you tried using a physical device to see if that also fails?

Sadly at the moment, I can’t connect with a physical device. I work remote, and the closest mac I have access to is a 4 hour drive. I managed to get this working in the Zoom sample app with an emulator. I have no reason to understand why it’s failing with my own app.

1 Like

Thanks for the context - I’ll see if I can find the right person to help out.