Inicializa MvvmCross en búsqueda de background en iOS

Estoy trabajando en una aplicación que obtiene Remote Background Fetch (también conocido como Notificación silenciosa).

Lo que hago es resolver services con Mvx.Resolve que realiza la búsqueda a través de la networking. Está funcionando bien cuando la aplicación se ha iniciado y puesto en segundo plano, pero como no es una garantía de que se quede allí (poca memory o personas obligan a cerrar todas las aplicaciones en segundo plano), y MvvmCross, por lo tanto, no se inicializa, necesito inicializarlo cuando la aplicación se despierta.

Pero no puedo simplemente ejecutar Setup () y setup.Initialize () en ese momento, ya que el constructor Setup requiere una UIWindow (la bruja será nula, cuando se inicia en segundo plano) y el análisis nulo, arrojará una exception.

Soy consciente de que Android tiene una class singleton, que puede garantizar que MvvmCross esté disponible, así:

var setupSingleton = MvxAndroidSetupSingleton.EnsureSingletonAvailable(this); setupSingleton.EnsureInitialized(); 

pero parece que no puedo encontrar nada como esto en la plataforma iOS. La class de installation tiene un método EnsureInitialized (), pero eso todavía me obliga ir a través del constructor Setup, que requiere una UIWindow, como se mencionó anteriormente.

¿Alguien puede decirme cómo hacer esto? Una solución es simplemente inicializar manualmente los services necesarios. Pero eso parece una mala solución, ya que algunos services pueden requerir que se carguen otros services a través de MvvmCross Ioc.

Gracias