Я использую SKQueue для мониторинга некоторых папок в файловой системе ma c. Согласно документации, я добавил пути к каталогам в очереди, но заметил, что при добавлении пути следующая строка кода в SKQueue возвращает -1 и, следовательно, он не может отслеживать мою папку. Пожалуйста, помогите мне в этом.
Документация SKQueue Это документация.
Ниже приведен код из документации, написанной в классе контроллера.
import SKQueue
class SomeClass: SKQueueDelegate {
func receivedNotification(_ notification: SKQueueNotification, path: String, queue: SKQueue) {
print("\(notification.toStrings().map { $0.rawValue }) @ \(path)")
}
}
let delegate = SomeClass()
let queue = SKQueue(delegate: delegate)!
queue.addPath("/Users/steve/Documents")
queue.addPath("/Users/steve/Documents/dog.jpg")
Ниже приведен код внутри зависимости SKQueue.
public func addPath(_ path: String, notifyingAbout notification: SKQueueNotification = SKQueueNotification.Default) {
var fileDescriptor: Int32! = watchedPaths[path]
if fileDescriptor == nil {
fileDescriptor = open(FileManager.default.fileSystemRepresentation(withPath: path), O_EVTONLY)
guard fileDescriptor >= 0 else { return }
watchedPaths[path] = fileDescriptor
}
fileDescriptor = open (FileManager.default.fileSystemRepresentation (withPath: path), O_EVTONLY)
Приведенный выше код возвращает -1 и, следовательно, не работает. Пожалуйста, помогите мне в этом.