La suppression du fichier échoue parfois sur Mac
-
11-10-2019 - |
Question
technique Q & A 1497
et cette question (dont la réponse copiée de la note technique) indiquent que, lors de l'obtention fBsyErr
à partir FSDeleteObject
, la solution de contournement appropriée est d'appeler FSUnlinkObject
sur 10,5 +.
Quelle est la différence technique entre les deux API FSDeleteObject
et FSUnlinkObject
(Autre que de noter que FSUnlinkObject
ne figure pas dans la documentation)? Pourquoi devrait unlink
être les solutions de repli et non l'API primaire?
La solution
Je suppose que FSDeleteObject
est venu d'abord parce qu'elle continue une ligne de fonctions de suppression de fichiers qui existaient bien avant que le Mac OS fusionné avec Unix, alors que dissociant un fichier est un concept Unix.
Autres conseils
Le document d'Apple vous explique la différence lié tout à fait clairement. FSUnlinkObject a la même sémantique que unlink () - suppression de fichiers ouverts est autorisé. FSDeleteObject ne permet pas la suppression de fichiers ouverts et les rapports que le code d'erreur lorsque vous tentez de le faire.