我想向我的应用程序添加一些静态文件(图像、二进制文件等)。我已将它们放在名为的文件夹下Resources
并将其添加到我的 XCode 项目中。
接下来,我将这些文件添加到Copy Bundle Resources
in the Build Phases
项目设置中的选项卡。
但是,我似乎无法以正确的方式引用它们。
例如,读取二进制文件:
NSInputStream *is = [[NSInputStream alloc] initWithFileAtPath:@"data.bin"];
if(![is hasBytesAvailable]) NSLog(@"wrong");
这总是失败并打印wrong
我尝试了类似的方法NSData initWithContentsOfFile:
但这甚至不会执行。另一种尝试是使用[NSBundle mainBundle]
但这也没有完全执行。
我是 iOS 新手,请帮助我访问本地文件!任何帮助,将不胜感激。
谢谢你,
您需要确保在正确的位置访问该文件。 Xcode 将您的资源文件放置在应用程序的“应用程序包”中资源目录。有很多方法可以把它们挖出来。
一种常见的方法是获取包中文件的路径名:
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *myFile = [mainBundle pathForResource: @"data" ofType: @"bin"];
如果您的包中的非标准位置有其他文件,则有一些变化资源路径让您指定一个目录名称。
如果您想查看模拟器正在使用的硬盘驱动器上的实际位置以便您可以检查它,您可以说:
NSLog(@"Main bundle path: %@", mainBundle);
NSLog(@"myFile path: %@", myFile);
在 Xcode 文档库中搜索“Bundle 编程指南”即可开始使用。 :-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)