如何在objective-c项目中嵌入文件并在运行时提取它?

如何在objective-c项目中嵌入文件并在运行时提取它?,objective-c,xcode,macos,Objective C,Xcode,Macos,我有一个用objective-c为OSX编写的代码。我想在用户运行程序后立即创建一个文本文件,并将其保存在Documents文件夹下 现在,我将所有文本存储在一个字符串变量中,并在运行时将其写入一个文件中。但问题是,我不想在代码中硬编码文本文件的所有内容 有没有办法将文本文件嵌入到项目中,并在用户运行应用程序时将其提取并存储在特定路径下 另外,我正在使用XCode 谢谢。只需将文件添加到项目中即可。 在生成阶段添加新的复制文件生成阶段,然后选择资源文件夹 在我的XCode版本(11.5)中的代码

我有一个用objective-c为OSX编写的代码。我想在用户运行程序后立即创建一个文本文件,并将其保存在Documents文件夹下

现在,我将所有文本存储在一个字符串变量中,并在运行时将其写入一个文件中。但问题是,我不想在代码中硬编码文本文件的所有内容

有没有办法将文本文件嵌入到项目中,并在用户运行应用程序时将其提取并存储在特定路径下

另外,我正在使用XCode


谢谢。

只需将文件添加到项目中即可。 在生成阶段添加新的复制文件生成阶段,然后选择资源文件夹

在我的XCode版本(11.5)中的代码use NSBundle中,我添加到项目中的任何文本文件都会自动复制到我的应用程序捆绑包中的resources文件夹中。(我不需要做任何特殊的事情来将文件放入应用程序包。)

然后,要在运行时读取它:

NSString* licensePath = [NSBundle.mainBundle.resourcePath stringByAppendingPathComponent:@"License.txt"];
NSString* license = [NSString stringWithContentsOfFile:licensePath encoding:NSUTF8StringEncoding error:nil];

谢谢你的快速回答。但请你详细解释一下好吗?我知道如何将文件添加到项目中(右键单击项目并添加新文件!),但我对NSBundle和您所说的其他内容一无所知。实际上,在XCode 6中,我看不到构建阶段!单击Xcode项目文件代理。看起来像一个Xcode文件。单击中心内容区域的后期侧栏中的目标。然后单击“中心资源中心”区域顶部的“构建阶段”。Xcode帮助提供了有关此的信息。