在macOS FileProvider扩展中,当我调用时:
manager.signalEnumerator(for: identifier) { error in
print("Signal completed with error: (error)")
}
其中identifier
是包含远程更改的相关文件夹的标识符,系统不对相关FileProviderEnumerator
调用enumerateChanges
方法。
另一方面,如果我调用
manager.signalEnumerator(for: .workingSet) { error in
print("Signal completed with error: (error)")
}
在那里系统适当地调用相关的CCD_ 4方法。
有没有办法确保为所提供的itemIdentifier
调用enumerateChanges
?或者,当我提供文件夹项目标识符时,系统为什么不调用enumerateChanges
方法,有什么解释吗?
下面的注释可以在使用推送通知来通知的变化中找到
使用NSFileProviderReplicatedExtension时,请始终将容器标识符设置为NSFileProviderWorkingSetContainerItemIdentifier。系统会自动将任何工作集更改传播到用户界面,而无需向各个容器发出信号。它忽略任何其他标识符。