A default object must be a property list—that is, an instance of (or for collections, a combination of instances of): NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary. If you want to store any other type of object, you should typically archive it to create an instance of NSData
Chances are it doesn’t like attempting to store an array of CNContacts. You could try using NSData, or create a function that creates an NSDictionary from a CNContact with the pertinent information.