MACOSX - 在 ISyncSessionDriver 上调用 -finishSyncing 时,应用程序会重复调用委托(delegate)

标签 macos delegates syncservices

我在我的应用程序中使用同步服务。我正在使用从通讯录中获取联系人的正常方式(使用同步服务)。

如果用户决定这样做,我想提前结束同步 session ,因此,当用户按下“取消”按钮时,我会调用 [driver finishSyncing]
ISyncSessionDriver是处理典型同步 session 的委托(delegate)方法的委托(delegate)。其中一种方法是- (BOOL)sessionDriver:(ISyncSessionDriver *)sender willFinishSessionAndReturnError:(NSError **)outError
问题是当调用 finishSyncing , sessionDriver:willFinishSessionAndReturnError:被反复调用,不仅仅是一次,而是数百次。最终它会抛出一个错误。

那么,我该如何解决这个问题,或者我可以做些什么更好的调试来找出问题所在?

谢谢

最佳答案

改用 - (void)cancelSyncing .

确保在不久之后释放接收器,因为您无法继续使用已取消的 session 。

关于MACOSX - 在 ISyncSessionDriver 上调用 -finishSyncing 时,应用程序会重复调用委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6198970/

相关文章:

c++ - Linux - 从 Sudo 读取文件 - "Permission Denied"

xml - Macosx 中的 Firefox 不显示 xml 树

java - 如何让 Eclipse 在 El Capitan 上运行?

c++ - 如何让事件处理程序访问成员数据?

c# - 我可以使用 Sync Framework 同步移动、桌面和 Web 服务器数据库吗?

macos - 如何快速获取分辨率更改事件?

具有 mkmapview 和 uitextfield 委托(delegate)函数的 Swiftui

ios - 具有模态表单的自定义委托(delegate)不起作用

Azure - Windows 10 上的文件共享同步

cocoa - 同步架构版本控制