Программно смонтировать диск / том, используя только указанный путь к файлу в Mac OS X

У меня есть список путей к файлам. Эти пути могут привести к файлам на несмонтированных томах. Как я могу программно сказать ОС смонтировать том, прежде чем пытаться получить доступ к файлу?

Я знаю, что это возможно как-то, поскольку iTunes, кажется, делает это. Например, если я инициирую воспроизведение песни, расположенной на томе, подключенном к не подключенной сети, в iTunes, громкость монтируется автоматически.

Должна ли ОС автоматически монтировать том для меня, если я попытаюсь открыть файл программно по указанному пути? Или мне нужно смонтировать диск вручную, используя Disk Arbitration Framework или что-то подобное?

Что мне нужно сделать, если мне нужно использовать инфраструктуру Disk Arbitration?

5

Решение

Краткий ответ: не нужно связываться с «Дисковой Арбитражной средой». Менеджер Alias ​​может справиться со всем этим за вас.

Крис Сутер был уже довольно близко. Существует два решения с точки зрения API:

  1. Псевдонимы. Они уже существовали в MacOS до OSX и представляют собой структурированные файлы, которые содержат несколько способов найти файл или папку, даже если они были перемещены или переименованы. Они также содержат информацию о том, на котором они находились, включая информацию о подключении, если он находится в сетевых томах. Вы можете увидеть их в действии, если просто создадите псевдоним файла (используя команду Finder «Создать псевдоним» в меню «Файл»), затем переименуете или переместите его, или размонтируйте его том. Finder попытается вернуть объем, даже попросит вас предоставить информацию для входа в систему, если это необходимо. Существует также API «Alias ​​Manager», в том числе функция FSResolveAliasFileWithMountFlags, которая именно то, что вы просили: она позволяет вам не только найти цель псевдонима, но и выбрать, будет ли диск доступен, если он отключен, и если Пользователь должен попросить войти в систему, если это необходимо.

  2. CFURL закладки. Это современная замена Alias ​​API и существует только с OSX 10.6. Закладки CFURL лучше управляются системой во время выполнения. Я не знаю, есть ли у них такое же представление файлов на диске, как у классических файлов Alias, но, возможно, они даже такие же.

В любом случае, я надеюсь, что это все те указатели, которые вам нужны.

3

Другие решения

Вы пытались использовать псевдонимы? Я думаю, что они теперь известны как закладки. Возможно, они будут вызывать монтирование томов при их разрешении.

1

По вопросам рекламы [email protected]