xmppframework 查看其他用户的 vCard

问题描述

我想要另一个用户的 vCard。一个我还不认识他的人。我还不是他的朋友。我对用户 JID 没有任何问题。我连接到服务器,我可以和用户聊天,但我无法获取获取用户的详细信息。
我使用了这个代码

func getVcard() {
    let xmppvCardStorage = XMPPvCardCoreDataStorage.sharedInstance()
    let xmppvCardTempModule = XMPPvCardTempModule.init(vCardStorage: xmppvCardStorage!)
    xmppvCardTempModule.activate(self.xmppStream)
    let jID = XMPPJID(string: "***userid***@***host***")
    xmppvCardTempModule.addDelegate(self,delegateQueue:dispatchQueue.main)
    xmppvCardTempModule.fetchvCardTemp(for: jID!,ignoreStorage:true)
}

func xmppvCardTempModule(_ vCardTempModule: XMPPvCardTempModule,didReceivevCardTemp vCardTemp: XMPPvCardTemp,for jid: XMPPJID) {
    print(vCardTempModule)
}

当我在 jID 字段中设置我的 JID 时,它会起作用,但是当我将其更改为另一个人 jid 时它会失败。
这是我对 jid 的回应。

<iq 
  xmlns="jabber:client" 
  lang="en" 
  to="***myjid***@***host***" 
  from="***myjid***@***host***" 
  type="result" 
  id="DEFC94B8-4F2B-4387-8B04-72885C1B3E44">
  <vCard xmlns="vcard-temp">
    <DESCRIPTION>
      *** my detai ***
    </DESCRIPTION>
  </vCard>
</iq>

这是另一个人jid:

<iq 
  xmlns="jabber:client" 
  lang="en" 
  to="***myjid***@***host***" 
  from="***userjid***@***host***" 
  type="result" 
  id="4482C925-C3D2-40CB-A183-01E2F79A28E8">
  <vCard xmlns="vcard-temp">
    
  </vCard>
</iq>

我还有一个问题。当我运行此函数时,出现此错误和警告:

CoreData: fault: One or more models in this application are using transformable properties with transformer names that are either unset,or set to NSKeyedUnarchiveFromDataTransformerName. Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead. At some point,Core Data will default to using "NSSecureUnarchiveFromData" when nil is specified,and transformable properties containing classes that do not support NSSecureCoding will become unreadable.
CoreData: warning: Property 'vCardTemp' on Entity 'XMPPvCardTempCoreDataStorageObject' is using nil or an insecure NSValueTransformer.  Please switch to using "NSSecureUnarchiveFromData" or a subclass of NSSecureUnarchiveFromDataTransformer instead.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)