检查项目文件夹中是否存在文件

check if file exists in project folder

我的项目有这样的结构:

my_project
 my_project
  AppDelegate.m
  AppDelegate.h
  ...
  Audio_folder
   my_audio.mp3

所以我想检查 Audio_folder 中是否存在音频文件。 我可以用完整路径

BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:@"/Users/user/Desktop/my_project/my_project/Audio_folder/my_audio.mp3"];

但是我怎样才能用

之类的东西实现它
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:@"Audio/my_audio.mp3"];

?

NSFileManager 完全没有访问项目文件夹的权限。与App所在的文件夹或它访问的文档所在的文件夹完全相关。

应用程序的构建过程和实际 运行 分为 "developer land" 和 "user land"..

访问开发人员文件夹的唯一方法是通过违反沙盒环境的迟钝方法。即使苹果确实允许临时例外,它也不太可能继续发挥作用。

我推荐共享两者的唯一方法是在构建阶段使用脚本共享两者之间的公共文件夹...

在运行时知道这是否可用的唯一方法是使用 NSBundle

NSString *path = [[NSBundle mainBundle] pathForResource:@"my_audio" ofType:@"mp3"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:path];

fileExists你知道它是否可用。

如果文件被复制到包中,请务必检查构建阶段。