versucht, eine Aufgabe in einer Sitzung zu erstellen, die die App ungültig gemacht hat. Beenden der App aufgrund der nicht erfassten Ausnahme 'nsgenericexcexion', Grund: 'Aufgabe, die in einer Sitzung erstellt wurde, die ungültig wurde. Dateien. Abgesehen davon hat sich in meiner Implementierung nichts geändert. Meine Implementierung der Klasse mit dem MDEL -Downloader ist hier < /p>
public class BankPredictor {
private let remoteConfig: RemoteConfig
private var interpreter: Interpreter?
public init() {
FirebaseManager.shared.configureFirebase()
self.remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
self.remoteConfig.configSettings = settings
}
public func fetchAndDownloadLatestModel(completion: @escaping (Bool) -> Void) {
let remoteConfig = RemoteConfig.remoteConfig()
remoteConfig.fetchAndActivate { status, error in
guard error == nil else {
print("
completion(false)
return
}
guard let modelName = remoteConfig["model_name"].stringValue else {return}
print("Model Name is: \(modelName)")
self.downloadModel(named: modelName, completion: completion)
}
}
private func downloadModel(named modelName: String, completion: @escaping (Bool) -> Void) {
let conditions = ModelDownloadConditions(allowsCellularAccess: true)
ModelDownloader.modelDownloader().getModel(
name: modelName,
downloadType: .localModelUpdateInBackground,
conditions: conditions
) { result in
switch result {
case .success(let customModel):
print("
self.initializeInterpreter(modelPath: customModel.path, completion: completion)
case .failure(let error):
print("
completion(false)
}
}
}
private func initializeInterpreter(modelPath: String, completion: @escaping (Bool) -> Void) {
do {
interpreter = try Interpreter(modelPath: modelPath)
try interpreter?.allocateTensors()
completion(true)
} catch {
print("
completion(false)
}
}
//some other functions for prediction
}
< /code>
In meinem ViewController erstelle ich eine Instanz davon: let predictor = bankpredictor () und bei ViewDidload versuche ich, dies zu verwenden: < /p>
predictor.fetchAndDownloadLatestModel { success in
DispatchQueue.main.async {
if success {
print("
} else {
print("
}
}
}
< /code>
Wie ich bereits sagte, funktioniert es einwandfrei, aber an diesem Punkt stürzt ich plötzlich zusammen < /p>
Ich habe versucht, die Pods so einzustellen, dass sie die ältere Version von Firebase verwendet, die zuvor installiert wurde, ohne Erfolg. Ich habe auch verschiedene Möglichkeiten zum Initialisieren und Umgang mit Fehlern im Modelldownloader ausprobiert.