- prepareToRecord was the method that was failing
- AVAudioRecorder initialization wasn't throwing any errors
I have a separate class where I set the settings argument. The last two setting items are for: AVLinearPCMIsBigEndianKey and AVLinearPCMIsFloatKey. Their values need to be NSNumbers so I was using [NSNumber numberWithBool:], but instead of passing in "YES" or "NO" I was passing in TRUE and FALSE, which is INCORRECT. Just one of those oversights I forget about when switching from one language to another.
I am still not sure why my NSError wasn't populated with some information. I don't know why the initializer didn't catch my syntax error either.
After I made my corrections, the recording worked perfectly. Whew! Now I just need to write the playback portion.