【问题标题】:What is the alternative of [NSBundle mainBundle] URLForResource:withExtension: in iOS 3 SDK[NSBundle mainBundle] URLForResource:withExtension: 在 iOS 3 SDK 中的替代方法是什么
【发布时间】:2011-02-24 15:04:51
【问题描述】:
我正在使用 iOS 4.2 SDK 开发 iOS 应用程序,但我希望该应用程序能够在旧设备上运行,例如我的 iPhone 2G 和 iOS 3.1.3。我不知道这段代码的替代方法是什么:
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"CoreDataApp" withExtension:@"momd"];
它在我的设备上崩溃,因为 URLForResource:withExtension: 方法是 iOS 4+。
请帮忙。谢谢。
【问题讨论】:
标签:
ios
iphone-sdk-3.0
ios3.0
【解决方案1】:
您可以使用 pathForResource:ofType: 方法获取资源的路径,然后使用 NSURL 中的 +fileURLWithPath: 方法将该路径转换为 URL - 从 SDK 2.0 开始,这两个 API 都可用。
NSString *path = [[NSBundle mainBundle] pathForResource:@"CoreDataApp" ofType:@"momd"];
NSURL *modelURL = [NSURL fileURLWithPath:path];
【解决方案2】:
它 -
NSURL *aFileURL = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource:path ofType:@"aif"]];