2010-05-31 9 views
0

J'ai un problème. Mon proget crée un fichier xml. Dans l'iPhone, ce fichier était stocké dans NSDocumentDirectory. Je veux enregistrer ce fichier dans un autre répertoire comme Desktop (où se trouvent les applications) ou un autre dossier visible. Merci.Enregistrer le fichier dans un emplacement différent dans l'application iPhone

Ceci est mon 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); 


} 

Répondre

2

Vous ne disposez pas de fichiers visibles comme ça sur l'iPhone. Vous avez des applications et elles gèrent les fichiers et les données comme bon leur semble. Vous ne pouvez pas mettre un fichier XML sur l'écran d'accueil.

Questions connexes