我在名为paylines.txt
的文件夹中添加了一个文件TextFiles
,该文件位于Xcode中我的iOS项目的Resources
文件夹中。
这是我用来访问该文件的代码:
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"paylines" ofType:@"txt" inDirectory:@"TextFiles"];
NSLog(@"\n\nthe string %@",filePath);
代码打印:
2011-06-07 14:47:16.251 slots2[708:207]
the string (null)
答案 0 :(得分:163)
我也有同样的问题。 我发现的解决方案是(在xcode 4.x中):
转到:目标 - > “构建阶段” - > “复制捆绑资源” 然后在此处添加该特定文件。 如果已添加该文件,请将其删除并重新添加。
清理项目并运行。它有效。:)
答案 1 :(得分:10)
我发现了我提交的错误我正在为项目添加一个组,而不是为更多instructions添加真实目录
答案 2 :(得分:10)
试试这个,它对我有用。
NSString *str = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"paylines.txt"];
对于模拟器
NSURL *rtfUrl = [[NSBundle mainBundle] URLForResource:@"paylines" withExtension:@".txt"];
答案 3 :(得分:10)
当我拖入文件时,"添加到目标"默认情况下,框似乎未被勾选。如果我不勾选它,那么我就会遇到问题。通过删除文件然后将其拖回来修复它,但确保勾选"添加到目标"。
答案 4 :(得分:3)
您是否尝试在XCTest内部执行此操作并濒临破坏笔记本电脑?这是您的主题:Why can't code inside unit tests find bundle resources?
答案 5 :(得分:3)
答案 6 :(得分:1)
转到“目标” - > “Build Phases”,选择目标,选择“Build Phases”选项卡,单击“Add Build Phase”,然后选择“Add Copy Files”。将目标更改为“产品目录”。将文件拖到“添加文件”部分。
答案 7 :(得分:1)
对于Mac OSX,
转到目标 - >建立阶段 单击+以复制新文件构建阶段 选择产品目录并将文件放在那里。
清理并运行项目。
答案 8 :(得分:1)
在关注了@Neelam Verma的回答或@ dawid的答案后,其结果与@Neelam Verma的答案相同,不同之处在于@ dawid的答案始于将文件拖放到Xcode项目中并且@Neelam Verma的回答从一个已经属于Xcode项目的文件开始,我仍然无法找到NSBundle.mainBundle().pathForResource("file-title", ofType:"type")
来查找我的视频文件。
我想也许是因为我的文件是在Xcode项目中嵌套的组中,这是原因,所以我将视频文件移动到我的Xcode项目的根目录,仍然没有运气,这是我的代码:< / p>
guard let path = NSBundle.mainBundle().pathForResource("testVid1", ofType:"mp4") else {
print("Invalid video path")
return
}
最初,这是我的文件的名称:testVid1.MP4
,将视频文件重命名为testVid1.mp4
修复了我的问题,因此,至少ofType
字符串参数区分大小写。
答案 9 :(得分:0)
选择项目/特定文件夹 - &gt;右键单击 - &gt;将文件添加到项目 - &gt;选择要添加的文件。
这对我有用。