# Undefined symbol: \_OBJC\_CLASS\_$\_ZoomVideoSDK

**URL:** <https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050>\
**Category:** React Native\
**Tags:** ios\
**Created:** [January 24, 2023, 8:11pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050 "2023-01-24T20:11:01Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![DanPiccolo](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/danpiccolo/32/41394_2.png) [@DanPiccolo](https://devforum.zoom.us/u/DanPiccolo)\
**Post date:** [January 24, 2023, 8:11pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/1 "2023-01-24T20:11:01Z")

</div>

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 \*\*

```auto
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**

```auto
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](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/2/629346b984609fbb597f1d56a5a30364cfc84fe9.png)

---

<div class="post-metadata">

**Author:** ![kellyjandrews](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kellyjandrews/32/51599_2.png) [@kellyjandrews](https://devforum.zoom.us/u/kellyjandrews)\
**Post date:** [January 26, 2023, 5:47pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/2 "2023-01-26T17:47:27Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![DanPiccolo](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/danpiccolo/32/41394_2.png) [@DanPiccolo](https://devforum.zoom.us/u/DanPiccolo)\
**Post date:** [January 26, 2023, 5:48pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/3 "2023-01-26T17:48:56Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![kellyjandrews](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kellyjandrews/32/51599_2.png) [@kellyjandrews](https://devforum.zoom.us/u/kellyjandrews)\
**Post date:** [January 26, 2023, 5:59pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/4 "2023-01-26T17:59:22Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![DanPiccolo](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/danpiccolo/32/41394_2.png) [@DanPiccolo](https://devforum.zoom.us/u/DanPiccolo)\
**Post date:** [January 31, 2023, 2:09pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/5 "2023-01-31T14:09:33Z")

</div>

Any update? I’ve been going over the code with a fine-toothed comb, and it’s still making no sense…

---

<div class="post-metadata">

**Author:** ![kellyjandrews](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/kellyjandrews/32/51599_2.png) [@kellyjandrews](https://devforum.zoom.us/u/kellyjandrews)\
**Post date:** [January 31, 2023, 2:59pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/6 "2023-01-31T14:59:15Z")

</div>

Haven’t heard back - I’ll ask in a couple other places and see if anyone can help out more than me.

---

<div class="post-metadata">

**Author:** ![elaine.ku](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elaine.ku/32/40026_2.png) [@elaine.ku](https://devforum.zoom.us/u/elaine.ku)\
**Post date:** [February 2, 2023, 7:48pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/8 "2023-02-02T19:48:51Z")

</div>

Hello @DanPiccolo ,

Would you please try to modify the Build Settings → Excluded Architectures option, add the Any iOS Simulator SDK option, and set the value to arm64

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/e/6/e69673fe95fbf4c27c2cc4ff5d94342c0b1c2ea1.png)  
and add the following code in Podfile:

```auto
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = "arm64"
    end
  end
end

```

It might help you solve this issue.  
Thank you

Elaine

---

<div class="post-metadata">

**Author:** ![DanPiccolo](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/danpiccolo/32/41394_2.png) [@DanPiccolo](https://devforum.zoom.us/u/DanPiccolo)\
**Post date:** [February 2, 2023, 7:58pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/9 "2023-02-02T19:58:45Z")

</div>

I will try that now.

There is an existing post\_install… integrate the suggested code into it? or is it separate. **I am NO expert on Podfiles**

Existing code:

```auto
  post_install do |installer|
    react_native_post_install(
      installer,
      # Set `mac_catalyst_enabled` to `true` in order to apply patches
      # necessary for Mac Catalyst builds
      :mac_catalyst_enabled => false
    )
   end

```

I tried both, a separate post\_install, and integrating it like so:

```auto
post_install do |installer|
    react_native_post_install(
      installer,
      # Set `mac_catalyst_enabled` to `true` in order to apply patches
      # necessary for Mac Catalyst builds
      :mac_catalyst_enabled => false
    )

    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = "arm64"
      end
    end
   end

```

and I still get the same errors (which is weird, as i have an iMac with an i5 chip, not an M1:

```auto
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

```

 ![Screen Shot 2023-02-02 at 4.50.37 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/2/e/2e302585daf1b7755f3ba4968fa49eac4e8ff355.png)

---

<div class="post-metadata">

**Author:** ![elaine.ku](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elaine.ku/32/40026_2.png) [@elaine.ku](https://devforum.zoom.us/u/elaine.ku)\
**Post date:** [February 3, 2023, 7:18pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/10 "2023-02-03T19:18:49Z")

</div>

@DanPiccolo had you run the pod install again after updating the podfiles? Also, would you please check whether you’ve added $(inherited) in the **Other Linker Flags** under **Build Settings \>\> Linking**  
Thank you

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/f/2/f26b14143ad2ddb094d194d928e165bb0514302b.png)

Elaine

---

<div class="post-metadata">

**Author:** ![DanPiccolo](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/danpiccolo/32/41394_2.png) [@DanPiccolo](https://devforum.zoom.us/u/DanPiccolo)\
**Post date:** [February 8, 2023, 7:54pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/11 "2023-02-08T19:54:31Z")

</div>

Hi Elaine,

I tried your suggestions with no luck. I always remove my Pods and re-run `pod install` just in case.

I ended up finding out why, by going line by line in the workspace, and comparing it to the Sample app, and another app I found that worked on iOS. Turns out I was missing a linkage to the **ZoomVideoSDK.xcframework** being explicitly defined in my app workspace in the **Frameworks, Libraries and Embedded Content** section

 ![screenshot](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/4/8/4856b1847d39e7d648935c63bca0c76edca9cd5d.png)

---

<div class="post-metadata">

**Author:** ![samuel.mula30](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/samuel.mula30/32/42298_2.png) [@samuel.mula30](https://devforum.zoom.us/u/samuel.mula30)\
**Post date:** [February 15, 2023, 6:28pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/12 "2023-02-15T18:28:46Z")

</div>

Did you get the react native video sdk to work on an ios emulator? I have only been able to get it to compile and run on a physical device.

---

<div class="post-metadata">

**Author:** ![DanPiccolo](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/danpiccolo/32/41394_2.png) [@DanPiccolo](https://devforum.zoom.us/u/DanPiccolo)\
**Post date:** [February 15, 2023, 6:46pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/13 "2023-02-15T18:46:48Z")

</div>

Hi Samuel,

I did get it to run on the emulator, but in my situation, audio, and video don’t work on the emulator… so you can’t unmute your session on the emulator, or turn on a video stream. You can RECEIVE video and audio on the emulator.

---

<div class="post-metadata">

**Author:** ![samuel.mula30](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/samuel.mula30/32/42298_2.png) [@samuel.mula30](https://devforum.zoom.us/u/samuel.mula30)\
**Post date:** [February 15, 2023, 6:57pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/14 "2023-02-15T18:57:19Z")

</div>

I see. Thanks for the reply.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [February 23, 2023, 8:11pm UTC](https://devforum.zoom.us/t/undefined-symbol-objc-class-zoomvideosdk/82050/15 "2023-02-23T20:11:35Z")

</div>

Closed on February 23, 2023, 8:11pm UTC

This topic was automatically closed after 30 days. New replies are no longer allowed.
