This question is old but I recently encountered this exact issue (xmppRoom:didFetchMembersList:
is passed an empty array). In my case the problem was that when users got invited to the room they would have a role of "participant" and an affiliation of "none". The fetchMembersList
method in XMPPRoom looks for items with an affiliation of "member".
You can change the affiliation like so:
[xmppRoom editRoomPrivileges:@[[XMPPRoom itemWithAffiliation:@"member" jid:userJID]]];
For details on roles and affiliations, see XEP-0045.