如何在ios 9中获取数据模型?

如何在ios 9中获取数据模型?,ios,swift,model,bundle,Ios,Swift,Model,Bundle,我正试图在iPhone4S上用iOS9.3运行这个项目。这是github上的snapchat克隆 这段代码在ios 9.3中给了我一个错误,但是可以在模拟器(ios 10)上运行 问题是它在哪里说“iOS 9.0及以下”,在哪里说Bundle.main.url,它在那里返回错误:“从Bundle加载模型时出错”。我从来没有弄乱过这种模型/捆绑包的任何东西,我想知道是否有人可以帮我?我真的希望它能在我的iphone上工作,这样我就可以看到/使用相机部分,因为这在模拟器上不起作用。提前谢谢 如果您

我正试图在iPhone4S上用iOS9.3运行这个项目。这是github上的snapchat克隆

这段代码在ios 9.3中给了我一个错误,但是可以在模拟器(ios 10)上运行


问题是它在哪里说“iOS 9.0及以下”,在哪里说Bundle.main.url,它在那里返回错误:“从Bundle加载模型时出错”。我从来没有弄乱过这种模型/捆绑包的任何东西,我想知道是否有人可以帮我?我真的希望它能在我的iphone上工作,这样我就可以看到/使用相机部分,因为这在模拟器上不起作用。提前谢谢

如果您想在iPhone 4s上运行代码,则需要相应地设置iPhone 4s支持的iOS部署目标,目前您设置的iOS部署目标是iPhone 4s不支持的9.3。将Project iOS部署目标设置为8.0

步骤:-单击项目->信息->iOS部署目标


希望这能对您有所帮助。

不过我的4s有9.3
func getContext() -> NSManagedObjectContext {
        var context: NSManagedObjectContext?

        if #available(iOS 10.0, *) {
            context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        } else {
            // iOS 9.0 and below - however you were previously handling it
            guard let modelURL = Bundle.main.url(forResource: "Model", withExtension:"momd") else {
                fatalError("Error loading model from bundle")
            }
            guard let mom = NSManagedObjectModel(contentsOf: modelURL) else {
                fatalError("Error initializing mom from: \(modelURL)")
            }
            let psc = NSPersistentStoreCoordinator(managedObjectModel: mom)
            context = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
            let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
            let docURL = urls[urls.endIndex-1]
            let storeURL = docURL.appendingPathComponent("Model.sqlite")
            do {
                try psc.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: storeURL, options: nil)
            } catch {
                fatalError("Error migrating store: \(error)")
            }

        }
        return context!
    }