尝试在 Pubnub 中创建频道时使用未声明的类型 'PNChannel'

Use of undeclared type 'PNChannel' when trying to create a channel in Pubnub

我正在按照 Pubnub 文档创建一个以我的登录用户命名的频道。 Pubnub 的网站说要使用此代码:

PNChannel *channel = [PNChannel channelWithName:user.objectId];

我在 Swift 中对此进行编码,因此我将其更改为以下内容:

var channel:PNChannel = PNChannel.channelWithName(currentUser.objectId)

但我得到一个错误 Use of undeclared type 'PNChannel'

我的视图控制器顶部有 import PubNub。我是 Pubnub 的新手,非常感谢任何帮助。

谢谢!

最终编辑!!多亏了迈克,我才能够更进一步,弄清楚如何订阅频道、向该频道发布消息,然后取回该消息,以便我最终可以在我的应用程序中使用它:

@IBAction func sendButton(sender: UIButton) {

        //create Pubnub channel
        config = PNConfiguration(publishKey: "YOUR KEY HERE", subscribeKey: "YOUR KEY HERE")
        client = PubNub.clientWithConfiguration(config)

        let channelName = user.objectId! as String
        //print(channelName)
        let channelArray: [String] = [channelName]
        client.subscribeToChannels(channelArray, withPresence: false)
        client.addListener(self)
        client.publish(self.messageText.text!, toChannel: channelName, compressed: false, withCompletion: nil)
    }


 func client(client: PubNub!, didReceiveMessage message: PNMessageResult!) {
        print("Received: %", message.data.message)

}

我也遇到过这个问题。我不知道如何使用频道组。但最后我通过使用这条线订阅来为我工作...

self.client?.subscribeToChannels(channels, withPresence: false)

其中 channelsString 的数组。简单地创建你的频道,它应该是 String 类型,然后将你所有的频道附加到一个数组,比如我的 channels 数组,然后使用我上面显示的行。

此外,PubNub 网站上有两个非常有用的教程,它们是用 Swift 编写的,可以向您展示所有基础知识。

如果您需要,我可以向您展示我的方法的更深入示例。

看起来您最近从 3.x 迁移到 4.x 客户群。 4.x 不再有 PNChannel class。 NSString 个实例表示的所有频道和频道组。

此致, 谢尔盖