首页 > 解决方案 > Swift Pusher 示例什么都不做

问题描述

我正在使用 Pusher 提供的启动代码,当我将它放入一个基本的 swift 项目中并向它发送一条消息时,没有任何反应。我也安装了可可豆荚包。

应打印“收到的数据”语句。

也没有错误。

我的代码 仪表板

在此处输入图像描述

标签: swiftpusher

解决方案


您是否将 Pusher 对象初始化为 var?您需要保持对该对象的强引用,否则它可能会被释放。

作为一个例子,它应该是这样的:

class ViewController: UIViewController {
 var pusher: Pusher!

 override func viewDidLoad() {
 super.viewDidLoad()

 let options = PusherClientOptions(
 host: .cluster("mycluster")
 )
 pusher = Pusher(
 key: "app_key",
 options: options
 )

// subscribe to channel and bind to event
let channel = pusher.subscribe("my-channel")

let _ = channel.bind(eventName: "my-event", callback: { (data: Any?) -> Void in
      if let data = data as? [String : AnyObject] {
          if let message = data["message"] as? String {
              print(message)
          }
      }
  })

pusher.connect()

  }
}

推荐阅读