I battled with this for quite sometime without realising how simple the solution to the problem is.

I wanted to have my complex app resource directory structure replicated in the “Resources” directory of my app – so that all my images, sound files and html files were stored in logical locations – except they always ended up in the base directory of the bundle!

To solve this problem you have to choose the “Create Folder References for any added folders” option when you drag your folder into the Xcode project:

Selecting to include files in Xcode

This fixes the problem!  You can then reference your files with the path to your directories included:

NSString *filePath = [[[NSBundle mainBundle] resourcePath]
                stringByAppendingPathComponent:@"pathToMyFiles"];