Respostas:
Acredito que os especificadores stringWithFormat são os especificadores printf IEEE padrão . Você tentou
[NSString stringWithFormat:@"%02d", 1];
Use a string de formato %02d. Isso especifica a formatação de um inteiro com largura de campo mínima de 2 caracteres e o preenchimento dos valores formatados com 0 para atender a essa largura. Veja man fprintftodos os detalhes sangrentos dos especificadores de formato.
Se você estiver formatando números para apresentação ao usuário, no entanto, deve usar NSNumberFormatter. Diferentes localidades têm expectativas totalmente diferentes sobre como os números devem ser formatados.
[NSString stringWithFormat:@"%00.02d", intValue]
Isso me ajuda a converter 1 em 01.