Jestem nowy na Macintoshu. Czy w systemie macOS można utworzyć określony „skrypt”, który powiadomi zarówno użytkownika, jak i administratora, za każdym razem, gdy dysk flash / osobiste urządzenie pamięci masowej zostanie podłączone do komputera Mac
Jestem nowy na Macintoshu. Czy w systemie macOS można utworzyć określony „skrypt”, który powiadomi zarówno użytkownika, jak i administratora, za każdym razem, gdy dysk flash / osobiste urządzenie pamięci masowej zostanie podłączone do komputera Mac
Odpowiedzi:
Ten niewielki fragment kodu Swift, choć nie jest skryptem, zgłasza wszelkie wstawienia dysków fizycznych lub wirtualnych. Może ci pomóc:
import Foundation
import DiskArbitration
let session = DASessionCreate(CFAllocatorGetDefault().takeRetainedValue())
DARegisterDiskAppearedCallback(
session!,
nil,
{ (disk, context) in
if let name = DADiskGetBSDName(disk) {
print("Disk inserted: " + String(cString: name))
}
},
nil)
DASessionScheduleWithRunLoop(session!, CFRunLoopGetMain(), CFRunLoopMode.defaultMode.rawValue)
RunLoop.main.run()
xcode-select --install
pierwszy
repl.swift:10:12: error: initializer for conditional binding must have Optional type, not 'UnsafePointer<Int8>' if let name = DADiskGetBSDName(disk) { ^ repl.swift:16:60: error: use of unresolved identifier 'CFRunLoopMode' DASessionScheduleWithRunLoop(session!, CFRunLoopGetMain(), CFRunLoopMode.defaultMode.rawValue) ^~~~~~~~~~~~~ repl.swift:18:1: error: use of unresolved identifier 'RunLoop' RunLoop.main.run() ^~~~~~~