So +(id)dataWithContentsOfMappedFile:(NSString *)path is apparently deprecated since iOS 5.0. It sounds to me like I should avoid using it, but then what should I use instea
Use +dataWithContentsOfFile:options:error:. Pass NSDataReadingMappedIfSafe as the option. You can also use NSDataReadingMappedAlways instead, but I recommend the former unless it really has to be mapped. If it really must be mapped, NSDataReadingMappedAlways is still just a hint, so there's no promise. To get a promise, you need to write it yourself, as discussed at CIMG.