Ответ 1
Да, сначала убедитесь, что папка создана. Используйте NSFileManager createDirectoryAtPath:withIntermediateDirectories:attributes:error:
, проходящий путь к папке, которую вы хотите создать (не файл, который вы пытаетесь записать).
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *storePath = [docDir stringByAppendingPathComponent:@"newfolder/test.jpg"];
[[NSFileManager defaultManager] createDirectoryAtPath:[storePath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];
NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)];
Вы должны проверить возвращаемое значение этих методов и обработать любые сбои.