0

我的 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文件。关于解决方法或任何东西的任何想法?我曾尝试Settings.plist直接从 中访问该文件NSString *bundle,但是这些值不会“保存”。

4

1 回答 1

1

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

于 2013-10-07T17:20:19.410 回答