27#import <Foundation/NSData.h>
28#import <Foundation/NSFileManager.h>
29#import <Foundation/NSPropertyList.h>
31@implementation NSUserDefaults (Override)
33- (BOOL) writeDictionary: (NSDictionary*)dict
34 toFile: (NSString*)file
36 if ([file length] == 0)
38 OOLog(
@"NSUserDefaultsOverride",
@"%@",
@"Defaults database filename is empty when writing");
42 NSFileManager *mgr = [NSFileManager defaultManager];
44 return [mgr removeFileAtPath: file handler: nil];
52 data = [NSPropertyListSerialization dataFromPropertyList: dict
53 format: NSPropertyListOpenStepFormat
54 errorDescription: &err];
57 OOLog(
@"NSUserDefaultsOverride",
@"Failed to serialize defaults database for writing: %@", err);
59 else if ([data writeToFile: file atomically: YES] == NO)
61 OOLog(
@"NSUserDefaultsOverride",
@"Failed to write defaults database to file: %@", file);