¿Cómo puedo escribir en el directorio actual en el iPhone SDK cuando se ejecuta xcodebuild desde la línea de comandos?

StackOverflow https://stackoverflow.com/questions/2105750

Pregunta

¿Alguien sabe cómo obtener la ruta de acceso al directorio actual cuando se ejecuta xcodebuild (principalmente, el directorio del proyecto) y los archivos de escribir en él? Estoy tratando de guardar los resultados de algunas pruebas de la unidad de disco desde mi código obj-c, pero yo prefiero no volcar en lo profundo de la trayectoria de documentos de la aplicación si es posible. Puede ser que sea capaz de anexar '../../ ..', etc. a la ruta del documento, pero esperaba que podría ser un método más elegante.

* Esto sólo es relevante para el simulador, por supuesto ... pero tal vez incluso los intentos de simulador para mantener el recinto de seguridad del sistema de archivos iPhone? No he tenido la suerte de escritura a otros lugares al azar en mi Mac, por lo que sospecho que podría ser el caso.

Gracias por su ayuda!

¿Fue útil?

Solución

Me cuenta de esto - la respuesta es vergonzosamente simple. Con un énfasis en "embarazoso".

Si utiliza algo así como métodos de WriteToFile NSString, todo lo que necesita hacer es pensar en tu camino como relativo a cualquier lugar al que se está ejecutando desde xcodebuild -. NSSearchPathForDirectoriesInDomains no necesarios

Ejemplo:

(si se ejecuta en ~ / src / awesomeapp)

[myString writeToFile:@"awesome.file" atomically:YES encoding:NSUTF8StringEncoding error:&error];

salida será a: ~ / Src / awesomeapp / awesome.file

Sí, soy un idiota. En realidad trató este primero , pero yo estaba intentando escribir en un directorio relativo que no existía, lo que resulta en un inútil "No se puede hacer esto" error de estilo que conmigo todo llevó alrededor de los internets y, finalmente, a stackOverflow ... (es necesario utilizar el FileManager # createDirectoryAtPath! no hay creación camino automático, por desgracia.)

Para su información, como debería ser evidente, usted es libre de escribir archivos dondequiera que usted desee en su disco duro cuando se ejecuta a través de xcodebuild - no se produce la caja de arena. Si se ejecuta en el simulador, sin embargo, podría ser una historia diferente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top