Frage

Ich habe versucht, eine Datei direkt wie fopen("/test.txt","w+") zu öffnen; es funktioniert auf dem Simulator funktioniert aber nicht auf dem iPhone.

Dann habe ich versucht, dies:

NSString *path = [[NSBundle mainBundle] pathForResource: @"GirlName.txt" ofType:nil];
NSLog(path);
fichier = fopen([path cStringUsingEncoding:1],"w+");

if (fichier != NULL)
{
    ...
}
else
{
    perror("error ");
}

Ich erhalte in der Konsole Permission denied:

2009-07-24 17:17:27.415 Mademoiselle[897:20b]
/var/mobile/Applications/.../....app/GirlName.txt
error : Permission denied

Können Sie mir sagen, was falsch ist?

War es hilfreich?

Lösung

Sie können eine Datei nicht im Anwendungspaket öffnen und machen es beschreibbar ( „w +“).

Der gleiche Code wird wahrscheinlich funktionieren (ich habe es nicht getestet), wenn Sie den Modus auf „r“

Wenn Sie eine beschreibbare Textdatei benötigen, müssen Sie in einem beschreibbaren Verzeichnis ablegen in, ich so etwas tun würde:

//Method writes a string to a text file
-(void) writeToTextFile{
    //get the documents directory:
    NSArray *paths = NSSearchPathForDirectoriesInDomains
        (NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    //make a file name to write the data to using the documents directory:
    NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt", 
                         documentsDirectory];
    NSString *content = @"Test Copy Here";
    //save content to the documents directory
    [content writeToFile:fileName 
              atomically:NO
                encoding:NSStringEncodingConversionAllowLossy 
                   error:nil];
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top