Save file in a different location in iPhone App

Posted by zp26 on Stack Overflow See other posts from Stack Overflow or by zp26
Published on 2010-05-31T15:29:33Z Indexed on 2010/05/31 15:33 UTC
Read the original article Hit count: 228

Filed under:
|

Hi, I have a problem. My proget create a xml file. In the iPhone this file was store in the NSDocumentDirectory. I wanna save this file in another directory like Desktop(where there are the apps) or another visible folder. Thanks.

This is my code:

-(void)saveInXML:(NSString*)name:(float)x:(float)y:(float)z{

    //NSDocumentDirectory put the file in the app directory
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);
    NSString *documentsDirectoryPath = [paths objectAtIndex:0];
    NSString *filePath = [documentsDirectoryPath  stringByAppendingPathComponent:@"filePosizioni.xml"];

    NSFileHandle *myHandle;
    NSFileManager *fileManager = [NSFileManager defaultManager];

    NSString *titoloXML = [NSString stringWithFormat:@"File Xml delle posizioni del iPhone"];
    NSString *inizioTag = [NSString stringWithFormat:@"\n\n\n<posizione>"];
    NSString *tagName = [NSString   stringWithFormat:@"\n <name>%@</name>", name];
    NSString *tagX = [NSString  stringWithFormat:@"\n  <x>%f</x>", x];
    NSString *tagY = [NSString  stringWithFormat:@"\n  <y>%f</y>", y];
    NSString *tagZ = [NSString  stringWithFormat:@"\n  <z>%f</z>", z];
    NSString *fineTag= [NSString    stringWithFormat:@"\n</posizione>"];

    NSData* dataTitoloXML = [titoloXML dataUsingEncoding: NSASCIIStringEncoding];
    NSData* dataInizioTag = [inizioTag dataUsingEncoding: NSASCIIStringEncoding];
    NSData* dataName = [tagName dataUsingEncoding: NSASCIIStringEncoding];
    NSData* dataX = [tagX dataUsingEncoding: NSASCIIStringEncoding];
    NSData* dataY = [tagY dataUsingEncoding: NSASCIIStringEncoding];
    NSData* dataZ = [tagZ dataUsingEncoding: NSASCIIStringEncoding];
    NSData* dataFineTag = [fineTag dataUsingEncoding: NSASCIIStringEncoding];

    if(![fileManager fileExistsAtPath:filePath])
        [fileManager createFileAtPath:filePath  contents:dataTitoloXML attributes:nil];

    myHandle  = [NSFileHandle fileHandleForUpdatingAtPath:filePath];

    [myHandle seekToEndOfFile];
    [myHandle   writeData:dataInizioTag];
    NSLog(@"writeok");

    [myHandle seekToEndOfFile];
    [myHandle   writeData:dataName];
    NSLog(@"writeok");

    [myHandle seekToEndOfFile];
    [myHandle   writeData:dataX];
    NSLog(@"writeok");

    [myHandle seekToEndOfFile];
    [myHandle   writeData:dataY];
    NSLog(@"writeok");

    [myHandle seekToEndOfFile];
    [myHandle   writeData:dataZ];
    NSLog(@"writeok");

    [myHandle seekToEndOfFile];
    [myHandle   writeData:dataFineTag];
    NSLog(@"writeok");

    [myHandle seekToEndOfFile];

    NSLog(@"zp26 %@",filePath);


}

© Stack Overflow or respective owner

Related posts about iphone

Related posts about objective-c