# getUserByUserID always returns nil

**URL:** <https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971>\
**Category:** macOS\
**Created:** [May 25, 2020, 12:22pm UTC](https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971 "2020-05-25T12:22:04Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![dmiskiew](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/dmiskiew/32/8026_2.png) [@dmiskiew](https://devforum.zoom.us/u/dmiskiew)\
**Post date:** [May 25, 2020, 12:22pm UTC](https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971/1 "2020-05-25T12:22:04Z")

</div>

**Description**  
I’m getting user’s ID inside `onUserAudioStatusChange` delegate and using it to get `ZoomSDKUserInfo` instance using `getUserByUserID` method executed on meeting action controller, but it **always** returns `nil`.

It’s nil no matter when the event is triggered - after joining the meeting and connecting to audio, after clicking on mute / unmute.

Exactly the same code works fine in your Sample App. So I’m wondering what’s the missing piece here.

```
func onUserAudioStatusChange(_ userAudioStatusArray: [Any]!) {

    for userAudioStatus in userAudioStatusArray as! [ZoomSDKUserAudioStauts] {
        let userID: UInt32 = userAudioStatus.getUserID()

        if (self.meetingActionController == nil) {
            self.meetingActionController = ZoomSDK.shared()?.getMeetingService()?.getMeetingActionController()
        }
        let userInfo: ZoomSDKUserInfo? = self.meetingActionController!.getUserByUserID(userID)
                
        if(userInfo != nil && userInfo!.isMySelf())
        {
            self.mySelfUserInfo = userInfo!
        }
    }

}

```

**Which version?**  
4.6.21666.0427

**Screenshots**

 ![Zrzut ekranu 2020-05-25 o 14.06.32](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/4/49efd8df203ea0b2b6e975a6526459acb8754b85.png)

**Macbook:**

- Device: MacBook Pro (Retina, 15-inch, Mid 2015)
- OS: macOS Catalina 10.15.2 (19C57)
- Xcode: Version 10.2.1 (10E1001)

---

<div class="post-metadata">

**Author:** ![dmytro](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/dmytro/32/1371_2.png) [@dmytro](https://devforum.zoom.us/u/dmytro)\
**Post date:** [May 26, 2020, 11:12am UTC](https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971/2 "2020-05-26T11:12:37Z")

</div>

Hi @dmiskiew,

Try to get user info in `func onUserInfoUpdate( _ userID: UInt32)`. Also please take a look at `getParticipantsList()` method of `ZoomSDKMeetingActionController`, you can use it to query connected users.

Good luck!

---

<div class="post-metadata">

**Author:** ![dmiskiew](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/dmiskiew/32/8026_2.png) [@dmiskiew](https://devforum.zoom.us/u/dmiskiew)\
**Post date:** [May 26, 2020, 1:06pm UTC](https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971/3 "2020-05-26T13:06:10Z")

</div>

Hey @dmytro,

thanks for your suggestions!

Unfortunately getting user inside the `func onUserInfoUpdate( _ userID: UInt32) ` doesn’t work - it returns nil.

And getParticipantsList() return’s nil too…

---

<div class="post-metadata">

**Author:** ![carson.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/carson.zoom/32/785_2.png) [@carson.zoom](https://devforum.zoom.us/u/carson.zoom)\
**Post date:** [May 28, 2020, 4:19am UTC](https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971/4 "2020-05-28T04:19:44Z")

</div>

Hi @dmiskiew,

Thanks for the post. Please have a try to retrieve userID from `(void)onUserJoin:(NSArray*)array`.

Hope this helps. Thanks!

---

<div class="post-metadata">

**Author:** ![dmiskiew](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/dmiskiew/32/8026_2.png) [@dmiskiew](https://devforum.zoom.us/u/dmiskiew)\
**Post date:** [May 29, 2020, 11:17pm UTC](https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971/5 "2020-05-29T23:17:16Z")

</div>

Thanks for the answer @carson.zoom!  
Retrieving userID from `(void)onUserJoin:(NSArray*)array` doesn’t help.  
But I finally figured it out by deleting line by line from the sample code.

The nil is returned if there’s no `ZoomSDKMeetingServiceDelegate`.  
Connecting the delegate with `onMeetingStatusChange`, `onWaitMeetingSessionKey` etc solved this problem.

---

<div class="post-metadata">

**Author:** ![carson.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/carson.zoom/32/785_2.png) [@carson.zoom](https://devforum.zoom.us/u/carson.zoom)\
**Post date:** [June 4, 2020, 7:38am UTC](https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971/6 "2020-06-04T07:38:30Z")

</div>

Hi @dmiskiew,

Thanks for the reply and glad to hear that the problem has resolved. I will pass this to the engineering team to further enhance this. Pardon the confusion here.

Thanks!

---

<div class="post-metadata">

**Author:** ![DeveloperBot](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/developerbot/32/12632_2.png) [@DeveloperBot](https://devforum.zoom.us/u/DeveloperBot)\
**Post date:** [August 21, 2020, 9:51pm UTC](https://devforum.zoom.us/t/getuserbyuserid-always-returns-nil/18971/7 "2020-08-21T21:51:58Z")

</div>


