run name generate engine create app iphone xcode string directory writetofile

iphone - generate - preference name



Xcode: archivo de directorio para simulador de Iphone (8)

Quiero escribir una cadena en un archivo "file.txt": este archivo en mi proyecto (para Iphone) está dentro de Recursos; Intento escribir una cadena en este archivo pero no funciona, muestro mi código.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"file.txt"]; NSError *error; [outputString writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];

Quiero escribir en este archivo con simulador xcode, no con dispositivo


Con el código de ejemplo que tiene aquí, no se escribirá en la carpeta Recursos, sino en la carpeta Documentos del Simulador, que es donde debería escribir en el dispositivo, pero como menciona, solo desea hacerlo en el simulador. , podrias usar

filePath = [[NSBundle mainBundle] bundlePath] stringByAppendingPathComnponent:@"Resources"]

Pero, no hagas esto en una aplicación de envío, fallará.


Deténgase en un punto de interrupción en cualquier lugar de su aplicación y escriba "po NSHomeDirectory ()" en el depurador. Use la función Ir> Ir a carpeta del Finder para saltar directamente allí.


El directorio de Documentos para su aplicación en el simulador se encuentra en;

~/Library/Application Support/iPhone Simulator/YOUR-IOS-VERSION/Applications/UNIQUE-KEY-FOR-YOUR-APP/Documents


En gdb, detenga el proceso y péguelo, luego se imprimirá la ubicación de los Documentos. [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]

po [[[NSFileManager defaultManager] URLsForDirectory:9 inDomains:1] lastObject]


No estoy seguro de si puede escribir en su paquete, pero puede hacerlo en su directorio Documentos como lo hace su código. ¿Por qué no intentas esto?

Use el mismo código y encontrará su archivo en:

/ Users / YOURUSER / Library / Application Support / iPhone Simulator / IOSVERSION / Applications / APPID /Documents/file.txt


Pega esto en la terminal.

open ~/Library/Application/ Support/iPhone/ Simulator/


Si está utilizando Xcode 7 y superior, siga esto:

Directorio de documentos:

file:///Users/codercat/Library/Developer/CoreSimulator/Devices/YourProjectDict/data/Containers/Data/Application/(sample digit)7F53CFB3-C534-443F-B595-62619BA808F2/Documents/your file located here


Esto cambió con XCode 6 y iOS 6 y esto se complicó.

El directorio de documentos ahora está oculto dentro de:

~/Library/Developer/CoreSimulator/Devices/<some-id>/data/Containers/Data/Application/<some-other-id>

Parece que la ubicación está cambiando en cada inicio de la aplicación, por lo que es muy difícil de rastrear. Hay un consejo simple que tomé prestado de este artículo y que incluiré para los perezosos:

#if TARGET_IPHONE_SIMULATOR // where are you? NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]); #endif

Agregue esto, por ejemplo, a su método de applicationDidFinishLaunching , ¡debería hacerlo más fácil!

Si quieres más detalles, solo echa un vistazo al artículo original

NB: Sé que la pregunta es antigua, pero bueno, la encontré mientras buscaba, así que creo que agregar una respuesta actualizada puede ser útil para algunos de nosotros.