问题描述
我想要另一个用户的 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 (将#修改为@)