Технические вопросы и ответы 1497 и этот вопрос (чей ответ скопирован из технической записки) указывают, что при получении fBsyErr из FSDeleteObject правильный обходной путь должен вызывать FSUnlinkObject на 10,5 +.
fBsyErr
FSDeleteObject
FSUnlinkObject
В чем техническая разница между двумя API FSDeleteObject и FSUnlinkObject (кроме того, что FSUnlinkObject не фигурирует в документации)?Почему unlink должен быть запасным, а не основным API?
unlink
Я предполагаю, что FSDeleteObject появился первым, потому что он продолжает линейку функций удаления файлов, существовавших задолго до слияния Mac OS с Unix, тогда как отмена ссылки на файл - это концепция Unix.
Документ Apple, на который вы ссылаетесь, довольно четко объясняет разницу. FSUnlinkObject имеет ту же семантику, что и unlink () - удаление открытых файлов разрешено. FSDeleteObject не позволяет удалять открытые файлы и возвращает этот код ошибки при попытке сделать это.