B4i
Object was not initialized (NSObject) – B4X NSObject
Dopo l'aggiornamento di B4i e del Build Server il vecchio accesso FIRInstanceID può restituire un NativeObject non inizializzato. Il percorso documentato usa FIRMessaging, legge il campo messaging e poi FCMToken, controllando IsInitialized prima di convertire il token.
Cosa significa questo errore?
Dopo l'aggiornamento di B4i e del Build Server il vecchio accesso FIRInstanceID può restituire un NativeObject non inizializzato. Il percorso documentato usa FIRMessaging, legge il campo messaging e poi FCMToken, controllando IsInitialized prima di convertire il token.
Messaggio originale
Object was not initialized (NSObject)Contesto e parole chiave
Alias
- FCMToken B4i
- FIRInstanceID token error
Messaggi alternativi
- Errore GetToken dopo aggiornamento B4i e B4iBuildServer
Prodotti
- B4i
- Firebase Cloud Messaging
Piattaforme
- iOS
Parole chiave
- b4i fcm token firmessaging
- b4i object was not initialized nsobject
- firinstanceid b4i error
Cause possibili
API FCM precedente non più inizializzata come atteso
Il codice usa FIRInstanceID e il metodo token della vecchia API. Dopo l'aggiornamento il valore ottenuto non è un oggetto inizializzato; la API corrente espone il token tramite FIRMessaging.messaging.FCMToken.
possibileDiagnosi
Classe NativeObject e campo FCM usati da GetToken
Verificare se GetToken inizializza FIRInstanceID e chiama token, quindi controllare quale oggetto risulta non inizializzato nel log B4i.
Come leggere il risultato. La presenza del vecchio percorso FIRInstanceID identifica la causa e distingue il problema dall'assenza di un token ancora emesso.
Risoluzione
Leggere FCMToken da FIRMessaging
Sostituire il vecchio accesso FIRInstanceID con NativeObject FIRMessaging e restituire una stringa vuota quando il token non è ancora disponibile.
- Inizializzare FIRMessaging e ottenere il campo messaging.
- Leggere FCMToken in un NativeObject.
- Controllare IsInitialized prima di chiamare AsString e gestire il token assente come stringa vuota.
FIRMessaging = FIRMessaging.Initialize("FIRMessaging").GetField("messaging")Dim token As NativeObject = FIRMessaging.GetField("FCMToken")Domande frequenti
Cosa restituisco se FCMToken non è ancora disponibile?
Il codice documentato controlla IsInitialized e restituisce una stringa vuota; il token può essere gestito quando Firebase lo rende disponibile.
Approfondimenti
- [Solved] Error on GetToken Method After New Version thread_b4x_verificato