Takılı USB sürücülerinde bir dizi dosya işlemi gerçekleştiren uzun süredir devam eden bir görevim var ve kullanıcıların bu durumda sürücüyü Finder'dan (veya başka bir yerden) çıkarmasını önlemek istiyorum. Görevin herhangi bir zamanda sona erdirilmesine izin veren bir İptal düğmesi vardır.Mac OS X'teki bir işlem sırasında diskin çıkarılmasını nasıl önleyebilirim?
Görev süresi boyunca takılan birim üzerinde bir dosya tanıtıcısı açık tutmanın hile yapacağı varsayılmıştır, ancak işe yaramadı. Ben hacim çıkartmada engellenir sağlamak için neler yapabileceği hakkında
NSString *tempFilePath = @"/Volumes/myVolume/.myTempFile";
if ([[NSFileManager defaultManager] fileExistsAtPath:tempFilePath] == NO) {
[[NSFileManager defaultManager] createFileAtPath:tempFilePath contents:nil attributes:nil]
}
_tempFile = [NSFileHandle fileHandleForWritingAtPath:tempFilePath];
Herhangi bir fikir:
Bu benim (hata kaldırıldı sokulması) denedik nedir?
Kabarcınızı patlatmak istemezsiniz, fakat birileri USB sürücülerini takarsa ne olur? Sürücü donanım tahrikli ise, çıkarılmasını engellemek imkansızdır. Neden kullanıcıya sürücüyü çıkarmamaları için çok sert bir uyarı veremiyorsunuz yoksa işlem başarısız olacak mı? –
Farkında olmayan bir bağlantıyı tamamen önleyemeyeceğimizin farkındayım. Mümkün olduğu kadarıyla, kullanıcının işlemi durdurmak için bilinçli bir karar vermek zorunda kalmasını isterim, böylece bazı işlevselliklerin neden daha sonra onlar için çalışmadığını anlayabilirler. – mcsheffrey
@ferrari fan: ne mcsheffrey istiyor, çünkü kullanıcı bu görevin bitmediğini ve diskin bir şekilde "saklanmasını" yanlışlıkla esip atmaya yardımcı olacağını unutabilir. – mohsenr