我正在尝试使用xamarin + mvvmcross
,
plist / manifest中的深层链接配置已经完成并正常工作。
我正在尝试实现的是,当我的应用程序运行或不运行时,我希望我的主视图模型处理深层链接发送的参数InitFromBundle
(IMvxBundle bundle
)方法(我的主视图模型在应用程序运行时始终处于活动状态。)
虽然在android中通过覆盖启动画面活动中的TriggerFirstNavigate
并覆盖IMvxAppStart
启动方法来实现相当容易,但我已经浏览了mvvmcross
来源以了解如何它是在Xamarin.iOS
完成的,但仍然没有运气。
当我从深层链接打开我的ios应用程序时,InitFromBundle
(IMvxBundle bundle
)方法会处理url参数,但是当我的应用程序处于活动状态时点击深层链接时,它将应用程序带到前面但不会调用InitFromBundle
方法。
我已经做过的是向苹果开发者查询它是如何工作的,可以看到here:
我的情况可以在上面链接的图6-2中看到。
答案 0 :(得分:2)
这只是一个猜测,但根据我想象的文档,您需要覆盖appdelegate.cs中的HandleOpenURL
。然后,您可能希望使用信使提醒您的应用程序已请求新网址,或者按照此处的答案navigate to a view model from a view。
e.g。
public override bool HandleOpenURL (UIApplication application, NSUrl url)
{
if (url != null)
{
//do navigation or message notification here
return true;
}
else
return false;
}