No estoy seguro de cuál es el problema, pero en lugar de obtener el nombre de un mes "Julio", obtengo "07".NSDateFormatter no muestra el nombre del mes completo, solo el número de un solo dígito
dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setLocale:[NSLocale systemLocale]];
[dateFormat setTimeZone:[NSTimeZone localTimeZone]];
[dateFormat setDateFormat:@"MMMM dd, h:mm a"];
He tratado M, MM, MMM, MMMM, y todos ellos me dan un número, en lugar del nombre del mes, aunque con diferentes cantidades de 0s principales.
Creo que esta línea es el problema .. [dateFormat setLocale: [NSLocale systemLocale]]; no sé cuál es tu propósito para usar 'systemLocale' pero puedes probar' currentLocale' en lugar de 'systemLocale' – ila