Документация Apple никогда не была самой строгой. Что вы получаете с [NSString stringWithString:nil]
? [NSArray arrayWithArray:nil]
? [NSURL URLWithString:nil]
(Ответы: исключение, пустой массив и либо исключение, либо ноль в зависимости от версии ОС.)
В конце концов, не так уж важно, что говорит документация. Objective-C в значительной степени о соглашении, и если вы понимаете соглашения, вы, как правило, поймете это правильно. Падение происходит, когда есть крайние случаи, когда документация не упоминалась, а вы не тестировали, или документация неправильная (AVCapture на iPhone 3G не поддерживает 420v), или Apple меняет то, что происходит для крайних случаев (с NSURL выше, это означает, что более старые версии ОС выходили из строя там, где новые были в порядке), или кто-то вводил ошибку (например, AVCapture при 640x480 420v зависает на 4.1 / 3GS, но , только если вы установите его - по умолчанию 420v, и если Вы не трогаете его, он работает отлично!).
И если что-то пойдет не так, указание пальцем на документацию не спасет вас. Даже если это не ваша вина, это все равно ваша проблема: ваше приложение аварийно завершает работу, и вы обязаны сделать это своим пользователям (если Apple не запрещает вам делать это, что также происходит).
Тестирование превосходит документацию.