Как я могу предотвратить извлечение диска во время работы в Mac OS X?

У меня есть длительная задача, которая выполняет серию файловых операций на подключенных USB-накопителях, и я хочу, чтобы пользователи не извлекали накопитель из Finder (или где-либо еще), пока это происходит. Есть кнопка «Отмена», которая позволяет завершить задачу в любой момент.

Я предполагал, что сохранение дескриптора файла на смонтированном томе на время выполнения задачи поможет, но это не сработало.

Это то, что я пробовал (обработка ошибок удалена):

NSString *tempFilePath = @"/Volumes/myVolume/.myTempFile";
if ([[NSFileManager defaultManager] fileExistsAtPath:tempFilePath] == NO) {
    [[NSFileManager defaultManager] createFileAtPath:tempFilePath contents:nil attributes:nil]
}

_tempFile = [NSFileHandle fileHandleForWritingAtPath:tempFilePath];

Есть идеи о том, что я могу сделать, чтобы предотвратить извлечение тома?

6
задан Quinn Taylor 30 December 2011 в 14:24
поделиться