我正在实现一个Finder Sync扩展,并且在我的实现中遇到了一些奇怪的问题FIFinderSync
。
回调beginObservingDirectoryAtURL并不总是被调用。通常,当它没有被称为我的根文件夹下的第一级或第二级时。
有没有人遇到过类似的问题?无论如何要强制执行我可能会丢失的回调?
我正在实现一个Finder Sync扩展,并且在我的实现中遇到了一些奇怪的问题FIFinderSync
。
回调beginObservingDirectoryAtURL并不总是被调用。通常,当它没有被称为我的根文件夹下的第一级或第二级时。
有没有人遇到过类似的问题?无论如何要强制执行我可能会丢失的回调?
我目前遇到了类似的问题。
我确定的是 Finder 同步扩展将在我的扩展进程运行时解除分配并重新分配我的 FIFinderSync 对象。如果我的应用程序在启动时禁用然后重新启用扩展程序,就会发生这种情况。如果用户在其进程运行时禁用然后重新启用扩展程序,也会发生这种情况。
为了诊断这一点,我建议将日志记录添加到您的 FIFinderSync 对象的 init和 dealloc方法中。确保持有对您的 FIFinderSync 的引用的对象使用弱引用,这样您就知道您的 FIFinderSync 正在被正确地释放。
此外,您的 FIFinderSync 将需要容忍在第二次、第三次等重新初始化时将其连接恢复回您的产品。这是我的终极问题:我的扩展程序没有恢复已经建立到产品主进程的连接。