jow*_*wie 4 objective-c nsurl ipad ios ios-simulator
我正在尝试将音频文件加载到iPad上的AVAudioPlayer中.当我在iPad上运行时,它会在捆绑中找到它.但是,如果我尝试通过模拟器运行它,我会得到NSURL的null错误.这是代码片段(num是任意int):
NSString *name = [NSString stringWithFormat:@"st-answermachine-%i", num];
NSLog(@"name = %@", name);
NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@"m4a"];
NSLog(@"path = %@", path);
NSURL *url = [NSURL URLWithString:path];
NSLog(@"url = %@", url);
Run Code Online (Sandbox Code Playgroud)
在simluator中,Debugger Console跟踪这个:
name = st-answermachine-1
path =/Users/joe/Library/Application Support/iPhone Simulator/3.2/Applications/B85E9CC8-6E39-47B9-XXXX-1E3A2CE145D1/MyApp.app/st-answermachine-1.m4a
url =(null)
但如果我在设备上试试,我会得到这个:
name = st-answermachine-1
path = /var/mobile/Applications/116DA1CB-EA13-4B80-XXXX-EBD46C8E2095/MyApp.app/st-answermachine-1.m4a
url = /var/mobile/Applications/116DA1CB-EA13-4B80-XXXX-EBD46C8E2095/MyApp.app/st-answermachine-1.m4a
有什么想法我可能会遇到这个问题吗?
谢谢!
gra*_*rks 16
URLWithString:需要一个包含实际URL作为参数的字符串(例如'http:// blah /'或'file:/// blah').URL不能包含空格(正如模拟器的路径所做的那样),这就是它失败的原因.
正如Evan建议的那样,您需要使用fileURLWithPath:将路径字符串转换为URL对象.
| 归档时间: |
|
| 查看次数: |
1028 次 |
| 最近记录: |