-->

Mac App Store的 - 不能保存文件(Mac App Store - can't

2019-09-29 00:25发布

是否有任何限制,只要保存文件时,您分布在Mac App Store中的应用程序?

如果我编译并运行从我的电脑我的应用程序,它工作正常 - 它保存配置。

然而已下载了Mac App Store的版本不是保存配置。 我甚至不看配置文件。 任何人都知道是怎么回事?

这是保存配置的代码:

-(void)saveConfig:(id)plist {

    NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingString: CONFIG_FILE_NAME];

    NSData *xmlData;
    NSString *error;

    xmlData = [NSPropertyListSerialization dataFromPropertyList: plist
        format: NSPropertyListXMLFormat_v1_0
        errorDescription: &error];
    if(xmlData)
    {
        if (![xmlData writeToFile:path atomically:YES])
            NSLog(@"Failed to write the config file onto the hard drive");
    }
    else
    {
        NSLog(error);
    }
}

Answer 1:

如果您的目标Mac App Store中不能写入文件到应用程序包目录。 该包应该是一成不变的。

考虑保存您的配置NSUserDefaults ,或者,如果你真的需要一个单独的文件中, 官方推荐的位置是(〜)/库/应用程序支持。 马特·加拉格尔写了一个不错的职位叫做发现或创造的应用支持目录中,他提供了一个使用标准的解决方案NSApplicationSupportDirectory其次是可执行文件的名称。



Answer 2:

一般来说,你应该假设你的应用程序的资产是只读的。 这是一般的,不只是应用商店如此。

如果你想用户设置保存为一个属性列表,使用NSUserDefaults ,而不是修改应用程序中的文件。 这“只是做正确的事”,这是保存的喜好~/Library/Preferences



文章来源: Mac App Store - can't save a file