Я понял это - ответ смущающе прост. С акцентом на «неловкое».
Если вы используете что-то вроде методов writeToFile от NSString, все, что вам нужно сделать, это подумать о своем пути относительно того места, откуда вы запускаете xcodebuild - NSSearchPathForDirectoriesInDomains не требуется.
Пример:
(если работает в ~ / src / awesomeapp)
[myString writeToFile:@"awesome.file" atomically:YES encoding:NSUTF8StringEncoding error:&error];
Будет выводить на:
~ / SRC / awesomeapp / awesome.file
Да, я идиот. Я на самом деле пробовал это сначала , но я пытался записать в относительный каталог, который не существовал, что привело к бесполезной ошибке в стиле «Не могу сделать это», которая привела меня во все сети и в конечном итоге к stackoverflow ... (вам нужно использовать FileManager # createDirectoryAtPath! К сожалению, автоматического создания пути нет.)
К вашему сведению, вы можете свободно записывать файлы на свой жесткий диск при запуске через xcodebuild - песочница не возникает. Если вы запустите симулятор, это может быть другая история.