Settings.plist iOS

Posted

技术标签:

【中文标题】Settings.plist iOS【英文标题】: 【发布时间】:2013-10-07 17:15:24 【问题描述】:

我的 ios 应用程序中有一个 Settings.plist 文件。我使用下面的代码访问它:

    NSError *error;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Settings.plist"];

    NSFileManager *fileManager = [NSFileManager defaultManager];


    if (![fileManager fileExistsAtPath: path])
    
        NSString *bundle = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"plist"];

        [fileManager copyItemAtPath:bundle toPath: path error:&error];
    

    NSMutableDictionary *savedStock = [[NSMutableDictionary alloc] initWithContentsOfFile: path];

但是,假设我对应用程序中的 Settings.plist 文件进行了一些更改,例如添加另一行。然后,如果我发布它,已经拥有我的应用程序的用户将拥有一个过时的Settings.plist 文件。关于解决方法或任何东西的任何想法?我已经尝试直接从NSString *bundle 访问Settings.plist 文件,但是这些值没有“保存”。

【问题讨论】:

【参考方案1】:

您需要进行文件修改日期检查,请参阅my answer here。然后如果修改日期晚于上次检查日期,请下载 Settings.plist 文件并在用户应用中替换它。

【讨论】:

但是,这不会将用户保存的所有设置都替换为默认设置吗?

以上是关于Settings.plist iOS的主要内容,如果未能解决你的问题,请参考以下文章