У меня был очень большой файл, который не мог быть прочитан методами NSData, поэтому я использовал следующее (согласно предложению TechZen для точного контроля зерна).
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
[fileHandle seekToFileOffset:offset];
NSData *data = [fileHandle readDataOfLength:length];