如何在Objective-C中检索资源的原始文件路径?

时间:2013-01-04 03:50:55

标签: objective-c xcode

您可以使用以下方法获取已编译应用程序包的一部分文件的路径:

[[NSBundle mainBundle] pathForResource:@"MyFile" ofType:@"txt"];
// .../iPhone Simulator/6.0/Applications/52AD3E56-41DC-4A0E-A435-DACBF9475540/MyApp/MyFile.txt

但是有没有办法在Xcode项目的目录中获取原始文件的路径?

对于上面的示例,它将类似于~/projects/xcode/MyApp/MyFile.txt

以下是上下文:我正在开发一个项目(NUI)并希望能够运行应用程序,在应用程序运行时修改Xcode中的资源文件,然后重新读取新修改的应用程序仍在运行时在应用程序中存档。

这只会在开发过程中使用。这是不是明确可能的,有没有人对这个问题的其他方法有任何想法?

1 个答案:

答案 0 :(得分:0)

资源文件(在您的情况下为MyFiles.txt)在应用程序内部沙箱化。您可以使用mainBundle pathForResource在应用程序本身内部在运行时访问它们,如您所述。但是一旦创建了应用程序包,就不存在从Xcode访问该文件的问题,因为应用程序使用了捆绑包内的MyFile.txt而不是您在Xcode项目中添加的那个。因此,简单来说,当您的应用程序运行时,它不会访问Xcode中的txt文件。这个txt文件是app本身的一部分,它位于应用程序包中。

现在关于 - 的问题可以从应用访问此文件 - AFAIK,不,你不能这样做。