Это решение работает в обоих операционки):
[[NSBundle mainBundle] pathForResource:[[path pathComponents] lastObject]
ofType:nil
inDirectory:[path stringByDeletingLastPathComponent]];
Примечание: lastObject
и stringByDeletingPathComponents
хороши в этом случае, потому что не врезаться с индексом из границы, а возвращение ноль!
Первоначально я думал, что это будет сделать, но это делает НЕ:
[[NSBundle mainBundle] pathForResource:nil ofType:nil inDirectory:path];
Это возвращает первый элемент, найденный в пути (файл или папку), которая полностью не то, что я хотел ,
Я предполагаю, что Apple «улучшила» реализацию pathForResource:ofType:
с 10.8, чтобы заставить ее работать с каталогами, поэтому, в зависимости от того, насколько вы по-прежнему нуждаетесь в поддержке 10.7, вы знаете, что вам следует использовать.
Возможно, мне не хватает чего-то очевидного, как более простой способ вернуть каталог (опять же, в 10.7, поскольку в 10.8 это очень просто, как я заявляю в вопросе).