我在以编程方式加入共享游戏组会话时遇到问题。
首先我在一台设备上创建一个 SharePlay Activity
await SharePlayGame().activate()
如果这成功了,则创建者收听会话
private func startSession() async {
for await session in SharePlayGame.sessions() {
configureGroupSession(session) // do session stuff
}
}
到目前为止,这是有效的。现在第二台设备将加入。我打电话只是startSession
但随后什么也没有发生。我的假设是创建的会话由SharePlay
FaceTime 连接共享。
无论如何,当我打开 FaceTime 时,我看到有一个打开的会话。FaceTime 为我提供了加入 GroupSession 的操作。如果我按下它,一切正常并且我的设备已连接(见图)。此设备之间的任何进一步事件都按预期工作。
当我await SharePlayGame().activate()
用于加入过程时,会创建一个新的 SharePlay Group Session。这总是显示系统对话框(“你想替换当前的 SharePlay 会话吗?”)然后我的代码也可以工作,但这不是正确的方法。
加入(或查找?)GroupSession 和加入的正确方法是怎样的。