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

And*_*rei 5 macos delegates syncservices

我在我的应用程序中使用Sync Services.我正在使用通常的方式从地址簿中获取联系人(使用同步服务).

如果用户决定这样做,我想过早地结束同步会话,因此,当用户按下"取消"按钮时,我打电话给 [driver finishSyncing]

附属于ISyncSessionDriver代理,处理典型的同步会话的委托方法.其中一种方法是- (BOOL)sessionDriver:(ISyncSessionDriver *)sender willFinishSessionAndReturnError:(NSError **)outError

问题是,在呼叫时finishSyncing,sessionDriver:willFinishSessionAndReturnError:重复呼叫,不仅仅是一次,而是多次.最终它会抛出一个错误.

那么,我该如何解决这个问题,或者我可以做些什么更好的调试来弄清问题是什么?

谢谢

Cri*_*tiC 3

请改用- (void)cancelSyncing

请确保稍后释放接收器,因为您无法继续使用已取消的会话。