Firebasemldownloader Crash: 'Aufgabe in einer Sitzung erstellt, die ungültig wurde. Xcode (Swift)IOS

Programmierung für iOS
Anonymous
 Firebasemldownloader Crash: 'Aufgabe in einer Sitzung erstellt, die ungültig wurde. Xcode (Swift)

Post by Anonymous »

Ich verwende Firebase Model Downloader zum Herunterladen eines Tflite -Modells und verwende es für die Vorhersage. Es war die ganze Zeit in Ordnung, aber plötzlich begann es mit dem Herunterladen des Modells mit dem folgenden Fehler zu stürzen:
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("❌ Remote Config fetch error: \(error!.localizedDescription)")
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("✅ Model downloaded successfully at path: \(customModel.path)")
self.initializeInterpreter(modelPath: customModel.path, completion: completion)
case .failure(let error):
print("❌ Model download failed: \(error.localizedDescription)")
completion(false)
}
}
}

private func initializeInterpreter(modelPath: String, completion: @escaping (Bool) -> Void) {
do {
interpreter = try Interpreter(modelPath: modelPath)
try interpreter?.allocateTensors()

completion(true)
} catch {
print("❌ Failed to initialize TensorFlow Lite Interpreter: \(error.localizedDescription)")
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("✅ Model is ready! You can now make predictions.")
} else {
print("❌ Model initialization failed.")
}
}
}
< /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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post