我目前正在为我的应用实施一些简单的单元测试。
一个简单的Testcase是使用预定义文件实例化AVAudioPlayer。此测试在设备上完美运行。但是,如果我使用模拟器测试App,显然会使用其他文件夹结构,因为测试资源不会复制到tmp文件夹。
这是手机上使用的路径:
soundPath = [[NSString alloc] initWithFormat:@"%@Tests.octest/%@", NSTemporaryDirectory(), fileName];
如果我在模拟器上,我已经实现了一个简单的检查:
if (TARGET_IPHONE_SIMULATOR)
soundPath = @"";
else
...
如果我在模拟器上,我应该使用哪条路径? (我知道我可以使用硬编码的资源路径,但是这个项目将在不同的计算机上运行,所以我不能把它放在那里..)
感谢您的帮助......
答案 0 :(得分:1)
你使用的方法不对。
您可以使用以下方式获取捆绑路径:
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
soundPath = [bundle bundlePath];
这将返回整个路径(包括Tests.octest)
HTH 的Mattias