为什么 CloudKit 发现 return 设备上的用户数为零,而模拟器中的用户数为多个?

Why does CloudKit discovery return zero users on a device but multiple in the simulator?

我在模拟器和设备上都有相同的地址簿记录,但是当我 运行 应用程序时,我得到不同的结果...

在模拟器中,返回的记录数 = 3

在设备上,返回的记录数 = 0

发现甚至可以在生产环境中的设备上运行吗?

我是新手,但需要指出正确的方向。

discoverAllContactUserInfosWithCompletionHandler 存在一些问题。很久以前,我已经在 https://bugreport.apple.com 上发布了它的错误报告。到那时它甚至被标记为重复。我不确定这种行为在生产中的一致性。

根据我的经验,开发行为并不一致。您可能会在几个小时内得不到结果,然后突然 return 得到想要的结果。然后有时它会再次停止工作。

在我的应用程序中,我试图通过存档结果(如果有)来使它更稳定,如果没有结果,则只 return 存档结果。您可以使用 NSKeyedArchiver 存档结果。