在iOS

时间:2016-01-18 09:13:49

标签: ios xamarin xamarin.ios mvvmcross

我正在处理一个获取远程后台获取(又称无声通知)的应用。

我所做的是使用Mvx.Resolve解析服务,通过网络进行提取。当应用程序启动并投入后台时它工作正常 - 但由于它不能保证它停留在那里(低内存或人们强制关闭所有后台应用程序),因此MvvmCross不是初始化了,我需要在应用程序被唤醒时初始化它。

但是我似乎不能在那时运行Setup()和setup.Initialize(),因为Setup构造函数需要一个UIWindow(当在后台启动时将为null)并解析null,会抛出异常。

我知道Android有一个单例类,可以确保MvvmCross可用,如下所示:

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

但我似乎无法在iOS平台上找到这样的内容。 Setup类有一个方法EnsureInitialized(),但仍然需要我通过安装构造函数,这需要一个UIWindow,如前所述。

谁能告诉我这样做的方法? 一种解决方案是仅手动初始化所​​需的服务。但这似乎是一个糟糕的解决方案,因为某些服务可能需要通过MvvmCross Ioc加载其他服务。

由于

0 个答案:

没有答案