使用 iOS 和 Swift 3 在委托方法中未接收到 xmpp 存在
Posted
技术标签:
【中文标题】使用 iOS 和 Swift 3 在委托方法中未接收到 xmpp 存在【英文标题】:xmpp presence not receiving in delegate methods using iOS and Swift 3 【发布时间】:2017-07-24 10:34:17 【问题描述】:我正在使用猫鼬。我在客户端的 Ubuntu 服务器和 Swift 3 上。我无法在委托功能中获得用户的存在。我已经为 Subscripting 实现了这样的代码,这不是调用
func xmppRoster(_ sender: XMPPRoster!, didReceivePresenceSubscriptionRequest presence: XMPPPresence!)
debugPrint("XMPPRoster : didReceivePresenceSubscriptionRequest ")
debugPrint(presence)
sender.acceptPresenceSubscriptionRequest(from: presence.from(), andAddToRoster: true)
当用户发送出席信息时,我无法在此委托方法中获得用户出席信息:
func xmppStream(sender: XMPPStream!, didReceivePresence presence: XMPPPresence!)
debugPrint(presence)
请让我知道我哪里出错了。
【问题讨论】:
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。 【参考方案1】:问题在于猜测方法声明从 Objective-C 到 Swift 的正确转换。以下 XMPPFramework 回调声明适用于 Swift 4:
@objc func xmppStream(_ stream:XMPPStream, didReceivePresence presence:XMPPPresence)
print("\(presence)")
【讨论】:
以上是关于使用 iOS 和 Swift 3 在委托方法中未接收到 xmpp 存在的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS5 中未调用 UIViewController 设备旋转委托方法
在 iOS 11 和 Xcode 9.1 中未调用 CLLocationManager 的 didUpdateLocations 委托 [重复]