0

在我正在设计的应用程序中,我有几个文本字段,当应用程序关闭时,每个文本字段都保存到 .txt 文件中,然后在应用程序打开时重新读取;但是,当我尝试分发应用程序(只是将其导出为应用程序并将其拖放给一些朋友)时,我将其发送给的人在他们的计算机上没有我保存到的文件位置,所以文本字段不保存。下载应用程序时,有没有办法可以在他们的计算机上创建 .txt 文件?或者在分发时有比做 .txt 文件更好的保存方法吗?谢谢。

4

2 回答 2

1

我只是将初始 .txt 文件打包到您的应用程序包中。检查该文件是否存在于用户的本地文件系统中。如果没有,请将您的捆绑包的 .txt 文件读入一个字符串,然后将该字符串保存到用户文件系统的正确位置。

NSError *fileError = nil;
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
    //Read the file
    NSString *fileContents = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&fileError];
    if (fileError) {
        //Handle the error
    }
} else {
    NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"initialFile" ofType:@"txt"];
    NSString *initialFileContents = [[NSString alloc] initWithContentsOfFile:bundlePath encoding:NSUTF8StringEncoding error:&fileError];
    if (!fileError) {
        [initialFileContents writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&fileError];
        if (fileError) {
            //Handle the error
        }
    }
}
于 2013-04-03T15:37:51.453 回答
1

为什么不直接使用 NSUserDefaults 并将(希望相当小的)文本存储在应用程序的首选项数据库中?它保证存在并且可以访问,而不会违反沙盒限制或非标准存储位置。

除此之外,如果您想直接回答您的问题,则需要提供更多信息。具体来说,您使用的确切路径是什么,您收到的确切错误是什么?当您只需要在运行时创建文件时,为什么您觉得需要捆绑空文本文件?

于 2013-04-03T18:23:30.197 回答