Проверьте, открыт ли файл в каком-либо приложении - PullRequest
3 голосов
/ 04 ноября 2011

Можно ли проверить, открывается ли файл или пакет каким-либо приложением?Например, допустим, я знаю, что /Users/Foo/AwesomeDocument.txt существует и открыто в TextEdit. Могу ли я достоверно проверить из своего приложения, что документ открыт?Я в порядке с решениями, которые работают только с документами, открытыми через NSDocumentController.

Ответы [ 4 ]

1 голос
/ 04 ноября 2011

Вы можете использовать NSTask для запуска команды оболочки lsof | grep "Document.txt" и затем проанализировать результаты, хотя этот метод довольно медленный. Я не знаю, каким способом какао это сделать.

0 голосов
/ 03 апреля 2014

Начиная с 10.7, вы можете попробовать что-то с NSFileCoordinator. Имейте в виду, что не в каждом приложении обязательно будет реализовано NSFilePresenter, и вы не ошибетесь с NSDocument.

0 голосов
/ 22 ноября 2011
tell application "TextEdit"
    set theDocuments to every document
    repeat with aDocument in theDocuments
        if (path of aDocument) as string is equal to "/test.txt" then
            display dialog "found"
        end if
    end repeat
end tell
0 голосов
/ 18 ноября 2011

Вы имеете в виду, как это?

Например, в Applescript:

tell application "TextEdit"
    set theDocument to document of window 1
    return theDocument
end tell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...