Create a dmg file from a sandboxed application

Hello,

I am trying to create a dmg file by launching hdiutil through my swift program. This swift program is sandboxed.

Here is what i've done:

let hdd_file:String = NSHomeDirectory() + "hdd.dmg.sparseimage"
let process = Process()
process.launchPath = "/usr/bin/hdiutil"
process.arguments = ["create", "-size", "30g", "-fs", "'APFS'", "-volname", "myvolume", "-type", "SPARSE", hdd_file]
let pipe = Pipe()
process.standardOutput = pipe
process.launch()
let data = try pipe.fileHandleForReading.readToEnd()
print(data)

I get this error: hdiutil: create failed - Device not configured

I don't understand why i get this error because the dmg file is created in application's sandbox home directory.

Or maybe hdiutil is forbidden but i am just creating a dmg file. I am not trying to mount a device.

Do you have any idea of how i can create a dmg file from my sandboxed application ?

Thanks

I don’t think you’ll be able to get this working. hdiutil needs to mount the disk image as part of the work it does to create it.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Create a dmg file from a sandboxed application
 
 
Q