42

我在paylines.txt名为的文件夹中添加了一个文件,该文件TextFiles位于ResourcesXcode 中我的 iOS 项目的文件夹中。

这是我用来访问文件的代码:

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)
4

10 回答 10

165

我也有同样的问题。我找到的解决方案是(在 xcode 4.x 中):

转到:目标->“构建阶段”->“复制捆绑资源”然后在此处添加该特定文件。 如果该文件已添加,请将其删除并重新添加。

清理项目并运行。有用。 :)

于 2011-10-20T12:15:26.723 回答
10

好吧,我发现了我犯的错误我正在向项目中添加一个组,而不是添加真实目录以获取更多说明

于 2012-01-27T07:30:27.893 回答
10

试试这个,它对我有用。

NSString *str = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"paylines.txt"];  

模拟器用

NSURL *rtfUrl = [[NSBundle mainBundle] URLForResource:@"paylines" withExtension:@".txt"];
于 2013-08-17T13:12:45.183 回答
10

当我将文件拖入时,默认情况下似乎未选中“添加到目标”框。如果我不勾选它,那么我已经描述了问题。通过删除文件然后将它们拖回来修复它,但请确保勾选“添加到目标”。 在此处输入图像描述

于 2015-04-15T10:17:02.580 回答
4

您需要做的就是确保选中下面显示的复选框。

在此处输入图像描述

于 2016-05-16T05:37:27.950 回答
3

您是否正在尝试在 XCTest 中执行此操作,并且即将砸坏您的笔记本电脑?这是给你的主题:为什么单元测试中的代码找不到捆绑资源?

于 2014-05-28T18:47:35.973 回答
1

转到“Target”->“Build Phases”,选择您的目标,选择“Build Phases”选项卡,单击“Add Build Phase”,然后选择“Add Copy Files”。将目的地更改为“产品目录”。将您的文件拖到“添加文件”部分。

于 2013-12-09T14:35:07.507 回答
1

在 Mac OSX 的情况下,

转到 Targets -> Build Phases 单击 + 以复制新文件构建阶段 选择产品目录并将文件放在那里。

清理并运行项目。

于 2014-03-25T12:04:32.187 回答
1

在遵循@Neelam Verma 的答案或@dawid 的答案后,其最终结果与@Neelam Verma 的答案相同,不同之处在于@dawid 的答案从将文件拖放到Xcode 项目中开始,@Neelam Verma 的答案以a 开头文件已经是 Xcode 项目的一部分,我仍然无法NSBundle.mainBundle().pathForResource("file-title", ofType:"type")找到我的视频文件。

我想可能是因为我的文件位于 Xcode 项目中嵌套的组中,这就是原因,所以我将视频文件移到了 Xcode 项目的根目录,仍然没有运气,这是我的代码:

 guard let path = NSBundle.mainBundle().pathForResource("testVid1", ofType:"mp4") else {
        print("Invalid video path")
        return
    }

最初,这是我的文件的名称:testVid1.MP4,重命名视频文件以testVid1.mp4解决我的问题,因此,至少ofType字符串参数区分大小写。

于 2016-06-13T21:54:44.267 回答
0

选择项目/特定文件夹-->右键单击-->将文件添加到项目-->选择要添加的文件。

这对我有用。

于 2014-02-28T12:15:00.153 回答