Разве это не должно быть
if ([extension isEqualToString:wantedExtension]) {
...
}
"==" сравнивает указатели. isEqual: и isEqualToString: сравнить строки, хотя isEqualToString лучше, если вы знаете, что extension и wantedExtension являются NSString (что вы и делаете в этом случае).
На самом деле, если вы такой старый программист на C ++ и Java, как я, вы, возможно, будете счастливее, если вначале выберете того, который, как известно, не является нулевым, "wantedextension". В Objective C это не является необходимым, потому что «отправка сообщения» (т. Е. Вызов метода) в ноль возвращает 0 или false.
if ([wantedExtension isEqualToString:extension]) {
...
}