Esta funcionalidade está disponível no menu File> Open Recent de qualquer aplicação, fornecido pelos métodos de conveniência em LaunchServices/LSSharedFilesList.h
(que é também o nome dos ficheiros plist
que armazenam esta informação, por ex. ~/Library/Preferences/com.apple.Preview.LSSharedFilesList.plist
).
Essas entradas contêm um NSData
(presumivelmente) serializado, que você pode copiar e gravar em um arquivo, por exemplo usando um editor hexadecimal. Eles contêm o caminho completo para o arquivo, o nome do volume em que o arquivo está, um UUID e algumas informações adicionais que atualmente não posso fazer sentido se. Eu suponho que o UUID é usado para resolver a referência do arquivo, se necessário.
NSURL
s pode ser convertido em referências de arquivos que podem ser resolvidas mais tarde, mesmo quando um arquivo foi movido. Esta resposta no StackOverflow tem mais informações técnicas.
Não tenho certeza, mas o HFS + tem inodes que identificam um arquivo de maneira exclusiva. A funcionalidade NSURL é possivelmente implementada em cima disso. O comportamento observável parece indicar isso: se você mover um arquivo para um sistema de arquivos diferente, ele será removido da lista de arquivos Open Recent , provavelmente porque não pode mais ser resolvido.