swift 未接收supabase实时更新

amrnrhlw  于 2023-09-30  发布在  Swift
关注(0)|答案(1)|浏览(103)

我想在我的iOS客户端上接收特定表的实时更新。我能够成功连接,但未收到任何消息。
代码:

var client = RealtimeClient(endPoint: "https://MY PROJECT ID.supabase.co/realtime/v1", params: ["apikey": MY PUBLIC KEY])
let channel = client.channel(.table("realtime_test", schema: "public"))

client.connect()
channel.on(.all) { message in
   print(message)
}
client.subscribe()

client.onError { error in
   print("Socket Error: \(error)")
}

连接消息:

["status": ok, "extension": postgres_changes, "channel": public:realtime_test, "message": Subscribed to PostgreSQL]

需要注意的事项:

  • 我有RLS读取策略设置为任何人(我也尝试与RLS禁用,没有运气)
  • 为表和复制中启用了实时
  • 如果我的端点或apikey输入错误,我将无法连接

我希望我有一个错误或提供的东西,但它只是 * 不工作 *:/

vaqhlq81

vaqhlq811#

解决
显然,在执行.on(.all)时,您还必须侦听onMessage回调。

channel.onMessage { msg in
   print(msg
   return msg
}

.insert、.update、.delete所有不使用onMessage回调的工作。

相关问题