0

我正在使用 iPhone6 模拟器,我正在尝试使用以下任何代码获取文件(html 的任何扩展名 pdf):

 NSString *file = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@.pdf", documentName] ofType:nil];

或者

NSString *file2 = [[NSBundle mainBundle] pathForResource:documentName ofType:@"pdf"];

我确定该文件存在于 Resources 文件夹中并且我没有添加该文件,我以编程方式从 Web 下载它并在此路径中查看它(/Users/myMac/Library/Application Support/iPhone Simulator/6.9/Applications /E60F22DD-7301-48EF-AB25-B9D42FA6AD49/myApp.app) 我看到文件,但代码看不到它

但是这些代码有时会给我 null 有时给我文件。

为什么会发生这种情况以及如何防止这种情况并使其始终为我提供文件。考虑到我使用

if(file != nil)

并想让 if file == nil 尝试使用任何方式打开它。

提前致谢。

4

2 回答 2

5

确保您的文件已添加到项目的目标中。选择您的目标,然后选择 Build Phases->Copy Bundle Resources。该文件应该在那里。

有时值得清理您的项目并从头开始构建。我见过在执行清理之前添加的文件没有复制到模拟器/设备的情况。

于 2012-10-27T17:57:00.380 回答
0

a) 如果您从 Web 下载任何内容,则内容将转到您的应用程序的文档目录。

b) 没有其他应用程序可以与您的应用程序文档目录进行交互。

c) Bundle 路径,即应用程序的组和文件部分是只读的。

d) 除非并且直到您允许访问您的应用程序的文档目录,否则没有人可以偷偷您的应用程序 PDF。

希望这可以帮助

于 2013-01-16T10:18:33.847 回答