iPhone应用程序支持文件夹包含文件之前的文件

时间:2012-09-17 13:25:49

标签: iphone ios file directory

我有一个iPhone应用程序,它以编程方式获取应用程序支持文件夹的路径,测试应用程序支持文件夹中的文件,然后根据结果加载文件或创建一个新文件。这很简单,有很多关于如何做到这一点的教程。

但我不能在ios文档中或在线上找到有关如何在构建应用程序之前将文件放入应用程序支持文件夹的任何内容。我尝试在我的应用程序Xcode文件夹中创建一个库/应用程序支持无济于事。

具体来说,我正在制作游戏,我想在构建和运行应用程序之前在游戏的库/应用程序支持文件夹中包含级别包。最好通过在Finder中拖放文件。这可能吗?

@Vimal Venugopalan

修改: 正如Vimal所提到的,我可以使用[[NSBundle mainBundle] pathForResource:ofType:inDirectory:]方法,但这会给出类似于“〜/ MyApp.app / MyFolder / MyFile.plist”的路径。那就是“〜”是应用程序主目录的路径。或者更具体地说,“〜”是通过调用NSHomeDirectory()返回的路径;功能。我想把文件放在“〜/ Library / Application Support / MyFolder / MyFile.plist”中

我想要这个位置的文件,因为我想将水平包合并到我的游戏中。我想在应用程序下载中包含一些级别包,我最终希望有更多可下载的级别包。现在下载的级别包肯定要进入“〜/ Library / Application Support /”文件夹(我知道如何以编程方式进行),所以我想在构建和运行之前将原始级别包放在同一个地方该应用程序。将所有级别包放在一个地方会简单得多!

1 个答案:

答案 0 :(得分:3)

您可以在Project中添加这些文件并在运行时访问这些文件Xcode将在Copy Bundle Resource阶段复制它们。这通常会复制到捆绑的根目录中。要处理目录,请参阅@ CocoaFu对this SO question的回答。

然后在代码中

NSBundle* bundle = [NSBundle mainBundle]将为您提供主要的

从这里你可以使用pathForResource查找目录:ofType:inDirectory:例如

NSString* path = [bundle pathForResource:@"file.xml" 
                                  ofType:nil 
                             inDirectory:@"a"];

方法在NSBundle class reference中给出,另见Bundle Programming guide

希望这能解决您的问题。如果没有,请发表评论