2012-02-02 11 views
6

Estoy intentando guardar mi aplicación en Sandbox antes de enviarla a la tienda de aplicaciones de Mac y necesito abrir un archivo dmg. Intenté lo siguiente, pero no sé si se supone que funciona con Apple Sandbox.Sandbox y NSTask

NSTask *task = [[NSTask alloc] init]; 
[task setLaunchPath: @"/usr/bin/hdiutil"]; 
[task setArguments: 
[NSArray arrayWithObjects: @"attach", [NSString stringWithFormat:@"%@/myfile.dmg", documentsDirectory], nil]]; 
[task launch]; 
[task waitUntilExit]; 
if (0 != [task terminationStatus]) 
    NSLog(@"Mount failed."); 
[task release]; 

Si me pega la ruta completa en el trabajo que el terminal, si funciono desde la aplicación me sale el siguiente error:

diskimages-helper[11437:303] ERROR: couldn't connect to framework. 
diskimages-helper[11437:303] DIHelper: setupConnectionToFrameworkWithUUID: failed 
hdiutil: attach failed - No child processes 
Mount failed. 

Gracias por cualquier ayuda! S.

+0

No se puede montar un DMG de espacio aislado, es inseguro. – CodaFi

+0

Estoy teniendo exactamente el mismo problema. Me pregunto si @ user375584 lo ha solucionado. Gracias – Josh

Respuesta

0

La palabra oficial en NSTask y Sandboxing es 'algunos ejecutables pueden funcionar'. Para mí esto se traduce en 'no contar con eso'. Aunque este ejecutable parece mostrar el menú de ayuda correctamente, veo errores de sandboxing en Console.app que me harían desconfiar. Screenshot

Estoy de acuerdo con CodaFi en este que definitivamente no debe contar con esto para actuar como le gustaría.