ios - 如何从 XMPP/OpenFire 在 iOS 中检索 vCard
<p><p>顾名思义,我正在尝试使用以下 XMPPFrameworks 方法之一为用户检索 vCard:</p>
<pre><code>- (XMPPvCardTemp *)fetchvCardTempForJID:(XMPPJID *)jid;
- (XMPPvCardTemp *)fetchvCardTempForJID:(XMPPJID *)jid useCache:(BOOL)useCache;
</code></pre>
<p>我目前的实现是:</p>
<pre><code>dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_PRIORITY_DEFAULT);
dispatch_async(queue, ^{
XMPPvCardCoreDataStorage* xmppvCardStorage = ;
XMPPvCardTempModule* m = [ initWithvCardStorage:xmppvCardStorage];
ignoreStorage:YES];
NSLog(@"%@",xmppvCardStorage.description);
});
</code></pre>
<p>上面的代码不起作用,我也想知道如何记录数据,如果当前的方法是正确的。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>首先创建一个appdelegate的实例:</p>
<pre><code>-(AppDelegate *) appDelegate{
return (AppDelegate *).delegate;}
</code></pre>
<p>然后使用以下代码检索 vCard:</p>
<pre><code>XMPPvCardTemp *vCard =[.xmppvCardTempModule vCardTempForJID:.xmppStream.myJID.bareJID shouldFetch:YES];
</code></pre>
<p>这里我使用了当前用户的 JID。您可以使用其他用户的 JID,但请确保它应该是 XMPPJID 对象。</p>
<p>使用 XMPPvCardTemp 的对象记录它</p>
<pre><code>NSLog(@"%@", vCard.nickname);
NSLog(@"%@", vCard.name);
NSLog(@"%@", vCard.emailAddresses);
NSLog(@"%@", vCard.formattedName);
NSLog(@"%@", vCard.givenName);
NSLog(@"%@", vCard.middleName);
</code></pre></p>
<p style="font-size: 20px;">关于ios - 如何从 XMPP/OpenFire 在 iOS 中检索 vCard,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/28897982/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/28897982/
</a>
</p>
页:
[1]