Pergunta

Estou desenvolvendo uma aplicação em Cocoa. Quero verificar constantemente se o conteúdo de um arquivo em um determinado local é alterado ou não (como FileSystemWatcher em .NET). Por favor, alguém me dar uma solução

Foi útil?

Solução

Por favor, dê uma olhada no FSEvents .

Outras dicas

Como Diederik diz: FSEvents é API de carbono da apple para ouvir os eventos do sistema de arquivos. Alguém criou um / invólucro Cocoa Objective-C para FSEvents chamado SCEvents que é um pouco Mais fácil de usar.

Outra opção seria a beber diretamente do / dev / FSEvents firehose. Eu trabalho em um aplicativo que faz exatamente isso e ele funciona muito bem. Você pode ser notificado se um alterações de arquivos, é excluída, é movida, tem atributos alterados, etc. Com certeza, essa não é uma opção "Cacau", uma vez que na maior parte do código C, mas estamos usando isso em um aplicativo de cacau.

FSEvents são grandes, mas eles são usados ??para monitorar pastas. Para monitorar um único arquivo que você vai querer verificar para fora kqueues. Tente "homem kqueue" no terminal.

Observe a documentação da classe NSWorkspace.

Aqui está um exemplo de como fazê-lo com marcadores e NSFileManager assim que você pode seguir o arquivo se ele é movido.

https://github.com/ptrsghr/FileWatcher

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top