The problem is related to [mySingleton sharedMySingleton].sharedURLS . NSURls cannot be stored in NSUserDefaults, at least in the NSURL class, because they are not objects in the property list (explanation below). I would recommend converting the URLs to NSStrings and then putting them in NSUserDefaults, for example:
NSString *urlString = [url absoluteString];
There is a similar problem with another user ( NSUserDefaults will not save NSDictionary ), where the problem was that the objects that the programmer places in the NSDictionary (in this case, NSArray) were not property list objects. Basically, property list objects are things like NSData, NSString, NSNumber, NSDate, NSArray or NSDictionary, the format you need to save to NSUserDefaults.
source share