Ваше приложение, вероятно, аварийно завершает работу, потому что configPath
равно nil
, а позже в writeData
вы пытаетесь инициализировать новый массив с nil
в качестве третьего объекта:
[NSArray arrayWithObjects:@"-c", @"-w", configPath, nil]
// ^^^ this is nil
Я предлагаю вам скопировать строку, возвращенную path
:
if(ret == NSFileHandlingPanelOKButton ) {
// you become the owner of the string,
// don't forget to release configPath later
configPath = [[[panel URL] path] copy];
[self writeData];
}
Это может работать без проблем.