via transporte para maritimos maritimo maritima importacion cotizacion contratar contratacion contenedores contenedor container compartido como china alquiler ios ios8 ios-app-extension ios-app-group

transporte - iOS8 No se puede crear una carpeta/archivo en la ubicación del contenedor compartido del grupo de aplicaciones



contratacion de contenedores (2)

Estoy utilizando el siguiente código para crear una carpeta / archivo en la ruta del contenedor compartido. Lo que ayudará tanto a la extensión de la aplicación como a la extensión que contiene la aplicación puede acceder a los datos.

Código para obtener la ubicación de la URL del contenedor compartido:

+(NSURL*)getSharedContainerURLPath { NSFileManager *fm = [NSFileManager defaultManager]; NSString *appGroupName = APP_EXTENSION_GROUP_NAME; /* For example */ NSURL *groupContainerURL = [fm containerURLForSecurityApplicationGroupIdentifier:appGroupName]; return groupContainerURL; }

código para crear un directorio

+(void)createDirAtSharedContainerPath { NSString *sharedContainerPathLocation = [[self getSharedContainerURLPath] absoluteString]; NSString *directoryToCreate = @"user_abc"; //basically this is <shared_container_file_path>/user_abc NSString *dirPath = [sharedContainerPathLocation stringByAppendingPathComponent:directoryToCreate]; BOOL isdir; NSError *error = nil; NSFileManager *mgr = [[NSFileManager alloc]init]; if (![mgr fileExistsAtPath:dirPath isDirectory:&isdir]) { //create a dir only that does not exists if (![mgr createDirectoryAtPath:dirPath withIntermediateDirectories:YES attributes:nil error:&error]) { NSLog(@"error while creating dir: %@", error.localizedDescription); } else { NSLog(@"dir was created...."); } } }

el código anterior no genera ningún error, dice éxito, pero no puedo encontrar la carpeta en la ruta del contenedor compartido. Cualquier idea que pueda ser apreciada.


Acabo de hacer que mi código funcione cambiando el siguiente código

NSString *sharedContainerPathLocation = [[self getSharedContainerURLPath] absoluteString];

a

NSString *sharedContainerPathLocation = [[self getSharedContainerURLPath] path];


Para Swift

func createProjectDirectoryPath(path:String) -> String { let containerURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.abc") let logsPath = containerURL!.URLByAppendingPathComponent(path) //print(logsPath.path); do { try NSFileManager.defaultManager().createDirectoryAtPath(logsPath.path!, withIntermediateDirectories: true, attributes: nil) } catch let error as NSError { NSLog("Unable to create directory /(error.debugDescription)") } return logsPath.path! }

Usar

var strSavePath : String = self.createProjectDirectoryPath("Large")

Nota: Después de configurar su grupo de aplicaciones, este código anterior es útil para crear una carpeta.