Question

trouvé quelques petites choses sur cette question, mais jusqu'à présent, rien n'a fonctionné.

Je suis en train d'écrire à la fin d'un fichier en utilisant le code suivant:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Filename" ofType:@"txt"];
NSString *textToWrite = @"Test";
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
[fileHandle seekToEndOfFile];
[fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];

Quand je marche à travers le code chemin d'accès est défini pour "/var/mobile/Applications/1669D96A-1ABA-4A4F-D083-A90EB728691B/MyApp.app/Filename.txt".

Cependant, le NSFileHandle fileHandleForWritingAtPath retourne nil.Le code n'a pas de soulever une exception/avertissement et continue comme si fine.Quand j'ai lu le fichier dans une chaîne, le nouveau texte n'y est pas, seulement le truc c'est d'abord dans le fichier (tapé dans Xcode).J'ai utiliser le même code pour obtenir le chemin d'accès pour la lecture du fichier, et qui fonctionne!

Était-ce utile?

La solution

L'app bundle est en lecture seule.Vous ne pouvez pas écrire sur n'importe quel chemin d'accès dans le bundle.C'est pourquoi vous obtenez une nil descripteur de fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top