3 releases
0.1.2 | Dec 27, 2022 |
---|---|
0.1.1 | Jun 22, 2017 |
0.1.0 | Jun 22, 2017 |
#48 in macOS and iOS APIs
1,447 downloads per month
Used in 5 crates
(3 directly)
14KB
222 lines
dmg
Simple attaching/detaching of macOS disk images.
Example
Attach a disk image until dropped:
use dmg::Attach;
let info = Attach::new("Test.dmg").with().expect("could not attach");
println!("Mounted at {:?}", info.mount_point);
// Detched when 'info' dropped
If you prefer to handle detaching yourself simply use attach()
:
use dmg::Attach;
let info = Attach::new("Test.dmg").attach().expect("could not attach");
println!("Device node {:?}", info.device);
info.detach().expect("could not detach"); // There is also .force_detach()
If you know the device node or mount point, you can detach it like this too:
use dmg;
dmg::detach("/Volumes/Test", false).expect("could not detach"); // Do not force detach
For more examples see src/tests.rs
and src/bin/demo.rs
Testing
To create Test.dmg
run:
./create_dmg.sh
This will create a read-write .dmg file containg a single file called SAMPLE
.
hdiutil
doesn not like attaching and detaching the same file concurrently, so test using:
cargo test -- --test-threads 1
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~3.5MB
~61K SLoC