I try like this:
XMPPRosterMemoryStorage *xmppRosterMemStorage = [[XMPPRosterMemoryStorage alloc] init];
XMPPRoster *xmppRoster = [[XMPPRoster alloc] initWithRosterStorage:xmppRosterMemStorage
dispatchQueue:dispatch_get_main_queue()];
[xmppRoster addDelegate:self delegateQueue:dispatch_get_main_queue()];
xmppRoster.autoAcceptKnownPresenceSubscriptionRequests = true;
xmppRoster.autoFetchRoster = true;
[xmppRoster activate:xmppStream];
[xmppRoster fetchRoster];
But xmppRoster
is empty. Why?
Roster items are stored in [xmppRosterMemStorage mainThreadManagedObjectContext]
, you can use it with NSFetchedResultsController
as datasource for your UITableView
, see iPhoneXMPP example in the XMPPFramework sources