Было бы лучше проверить, вернулась ли ошибка:
NSError *error;
NSString *content = [[NSString alloc] initWithContentsOfFile:fileName
usedEncoding:nil
error: &error];
if (error) NSLog(@"Error !: %@", [error localizedDescription]);
Это (надеюсь) даст вам ключ к пониманию того, что происходит.
(отредактировано, чтобы привести пример использования ресурсов пакета, поскольку файл находится в пакете, а не в каталоге документов).
Документы для NSBundle находятся здесь: Документация NSBundle
У вас есть 2 варианта, который вы предлагаете:
NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:fileName];
Который вернет каталог ресурсов Bundle с именем файла, добавленным к этому пути.
Лично я предпочитаю pathForResource: ofType: метод:
NSString *filename = [[NSBundle mainBundle] pathForResource: @"test1" ofType: @"txt"];
Поскольку это не только скажет вам, существует ли файл (возвращает nil, если его нет), но также будет искать каталоги локализации, если они у вас есть.