# Same SDKDeviceInfo issue

**URL:** <https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128>\
**Category:** macOS\
**Created:** [May 17, 2022, 6:51pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128 "2022-05-17T18:51:13Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![vasoundman](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vasoundman/32/34599_2.png) [@vasoundman](https://devforum.zoom.us/u/vasoundman)\
**Post date:** [May 17, 2022, 6:51pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/1 "2022-05-17T18:51:13Z")

</div>

**Description**  
I am getting an error “Undefined symbol: _OBJC\_CLASS_ $\_SDKDeviceInfo”  
This is done when assigning the SDKDeviceInfo to any object.

**Which macOS Meeting SDK version?**  
zoom-sdk-macos-5.10.3.6470

**Device (please complete the following information):**

- Device: Apple MacBook Pro (16-inch, M1)

**Additional context**  
I can type the following and it will give me this above error message.

`var item = SDKDeviceInfo()`

Removing that line of code will allow the app to compile with no errors. If this line is left in, the complier will throw this error above.

[See the example project](https://www.icloud.com/iclouddrive/0f1WpiTVllCBJ_PkPt22IC0iQ#ZoomSDKError). This file is a project to specifically show you the issue. Look at the ViewController viewDidLoad.

Here is more of the error:

```auto
ld: warning: directory not found for option '-L/Users/.../MyZoomAPP/Frameworks'
 ld: warning: directory not found for option '-F//Users/.../MyZoomAPP/Frameworks'
 Undefined symbols for architecture arm64:
   "_OBJC_CLASS_$_SDKDeviceInfo", referenced from:
       objc-class-ref in AVinitSetup.o
 ld: symbol(s) not found for architecture arm64
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

```

I posted this question a while back here [SDKDeviceInfo Error](https://devforum.zoom.us/t/sdkdeviceinfo-error/65875)  
Followed the steps in checking the build phases, and they were matched perfectly.

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [May 18, 2022, 6:54pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/2 "2022-05-18T18:54:33Z")

</div>

Hi @vasoundman,

I am unable to access the project you’ve linked to, but can you please provide context around how the SDK was added to your project? Also are you importing the SDK into the file you’re trying to call that line from? It compiles in my project, so the issue must be with how the SDK was integrated on your end.

Thanks!

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [May 19, 2022, 7:20pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/4 "2022-05-19T19:20:41Z")

</div>

Hi @vasoundman,

Apologies, but that site is also giving me issues. Let’s try something different. Can you open a ticket on our [developer support site](https://zoomdevelopersupport.zendesk.com/hc/en-us) and send it that way? Let me know the ticket number once it’s been created so I can locate it.

Thanks!

---

<div class="post-metadata">

**Author:** ![vasoundman](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vasoundman/32/34599_2.png) [@vasoundman](https://devforum.zoom.us/u/vasoundman)\
**Post date:** [May 19, 2022, 8:23pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/5 "2022-05-19T20:23:15Z")

</div>

Thank you for your response. My issue number is #14384285.

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [May 20, 2022, 7:47pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/6 "2022-05-20T19:47:13Z")

</div>

Hi @vasoundman,

Thanks for sending that over. Looking at the project, I noticed a couple things:

1. Your `Copy Bundle Resources` build phase should not contain the SDK files
2. The `Link Binaries With Libraries` build phase should only contain the `ZoomSDK.framework` and the `*.dylib` files.
3. The ZoomSDK directory itself is empty. This may be due to how you sent the project over, but be sure that this directory contains all of the SDK files, since that is where your project is configured to search for them.

Please let me know if you’re still seeing issues after making these changes and we can investigate further.

Thanks!

---

<div class="post-metadata">

**Author:** ![vasoundman](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vasoundman/32/34599_2.png) [@vasoundman](https://devforum.zoom.us/u/vasoundman)\
**Post date:** [May 20, 2022, 10:04pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/7 "2022-05-20T22:04:03Z")

</div>

Thanks for looking into this Jon!

I did the adjustments you stated in the Bundle Resources and Link Binaries With Libraries. Still no go, same exact error. It will not compile but gives the “Undefined symbol: _OBJC\_CLASS_ $\_SDKDeviceInfo” error.  
It is true that the ZoomSDK was empty since I had to reduce size of the file to get it to you.  
I am taking the contents of the ZoomSDK directory in your download and dropping it right into the empty ZoomSDK folder you see in the app.

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [May 24, 2022, 6:57pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/8 "2022-05-24T18:57:13Z")

</div>

Hi @vasoundman,

Can you please provide screenshots of the SDK in your project’s file structure and your updated build phases so that I can confirm everything looks correct? Also, which version of Xcode are you using?

Thanks!

---

<div class="post-metadata">

**Author:** ![vasoundman](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vasoundman/32/34599_2.png) [@vasoundman](https://devforum.zoom.us/u/vasoundman)\
**Post date:** [May 24, 2022, 9:12pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/9 "2022-05-24T21:12:21Z")

</div>

Hello! Thanks for your response. Here is the project screenshots as requested. Let me know if I missed something.

Xcode 13.4

 ![Screen Shot 2022-05-24 at 4.58.00 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/0/8/08b19227efe93748b1da9b17ae6f4b64337dc6c3.jpeg)

 ![Screen Shot 2022-05-24 at 4.49.39 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/a/b/ab2032b6aa93a71aea0f9142d22530366951b317.jpeg)  
jpeg)  
 ![Screen Shot 2022-05-24 at 4.49.10 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/3/5/35e9a5bffabcf9a7cb9ea9d476d3cb58105cda89.jpeg)

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [May 26, 2022, 7:40pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/10 "2022-05-26T19:40:44Z")

</div>

Hi @vasoundman,

Can you please clarify what exactly you are trying to do by creating an instance of `SDKDeviceInfo`? Usually instances of this are created internally to the SDK, so creating your own instance could result in unexpected behavior.

Thanks!

---

<div class="post-metadata">

**Author:** ![vasoundman](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vasoundman/32/34599_2.png) [@vasoundman](https://devforum.zoom.us/u/vasoundman)\
**Post date:** [May 26, 2022, 8:12pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/11 "2022-05-26T20:12:00Z")

</div>

Jon,

That is a very good question. I am trying to get a list of audio devices using the SDK.

So here is the example code in my real project.

> let audioOutDev = ZoomSDK.shared().getSettingService().getAudioSetting().getAudioDeviceList(false) as? [SDKAudioDevice]
> 
> for avOut in audioOutDev  
> {  
> print(avOut)  
> }

If I write the code:

> let audioOutDev = ZoomSDK.shared().getSettingService().getAudioSetting().getAudioDeviceList(false)

The code will NOT crash, but I get back [ANY].

I want to use these items and not just throw them into an array of [ANY].

Chris

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [May 31, 2022, 4:55pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/12 "2022-05-31T16:55:59Z")

</div>

Hi @vasoundman,

The array returned from `getAudioDeviceList` will contain only `SDKDeviceInfo` instances, so you can cast each array element to that type.

Thanks!

---

<div class="post-metadata">

**Author:** ![vasoundman](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vasoundman/32/34599_2.png) [@vasoundman](https://devforum.zoom.us/u/vasoundman)\
**Post date:** [June 3, 2022, 10:04pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/13 "2022-06-03T22:04:34Z")

</div>

Thanks, but once I try and cast to the type, the complier crashes.

If I write the following code it will not compile:

> let audioOutDev = ZoomSDK.shared().getSettingService().getAudioSetting().getAudioDeviceList(false) as? [SDKDeviceInfo]

Or, if I write:

> var deviceArray = [SDKDeviceInfo]()

> let deviceItems = ZoomSDK.shared().getSettingService().getAudioSetting().getAudioDeviceList(false)  
> deviceArray.append(contentsOf: deviceItems)

This will not compile.

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [June 6, 2022, 8:06pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/14 "2022-06-06T20:06:59Z")

</div>

Hi @vasoundman,

It looks like you are trying to cast the entire array of devices to a single instance of `SDKDeviceInfo`, which is not possible. You would need to cast the individual elements in the array in order to access them. 🙂

Thanks!

---

<div class="post-metadata">

**Author:** ![vasoundman](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vasoundman/32/34599_2.png) [@vasoundman](https://devforum.zoom.us/u/vasoundman)\
**Post date:** [June 8, 2022, 9:06pm UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/15 "2022-06-08T21:06:16Z")

</div>

No I am not. Lets try it a different way. Please see the attached screen captures. You will see the first one if I cast them as an object of [SDKDeviceInfo] I will get an error.  
If I just dump them without trying to cast, it works and I get an array of [ANY]. I do not want an array of ANY I want to have individual SDKDeviceInfo objects.

 ![Screen Shot 2022-06-08 at 5.03.25 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/7/6/766533cbbe19c209d97f06287a3c1c51b3523384.png)

 ![Screen Shot 2022-06-08 at 5.01.51 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/2/d/2d9b6ac95e31c9da1db68ef41a64724b52083681.png)

---

<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:** [July 9, 2022, 7:06am UTC](https://devforum.zoom.us/t/same-sdkdeviceinfo-issue/69128/16 "2022-07-09T07:06:55Z")

</div>

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