根据Microsoft Intune文档。
[当应用程序首次接收MAM策略时,必须重新启动以应用所需的挂钩。为了通知应用程序需要重启,SDK在IntuneMAMPolicyDelegate.h中提供了一个委托方法。 refer here
我已经在Xamarin中实现了同样的功能。
var authResult = await adalHelper.Authenticate();
if(authResult != null && !string.IsNullOrEmpty(authResult.AccessToken)){
var enrollmentDel = new EnrollmentDelegate(this);
IntuneMAMEnrollmentManager.Instance.Delegate = enrollmentDel;
IntuneMAMPolicyManager.Instance.Delegate = new EnrollmentPolicyDelegate();
IntuneMAMEnrollmentManager.Instance.RegisterAndEnrollAccount(authResult.UserInfo.DisplayableId.ToLower());
}
EnrollmentPolicyDelegate:
public class EnrollmentPolicyDelegate : IntuneMAMPolicyDelegate
{
public override bool RestartApplication
{
get
{
var returnedVal = base.RestartApplication;
return returnedVal;
}
}
}
根据文档,我应该使用此属性来知道何时需要重新启动应用程序
我需要您的帮助才能解决。在何时何地以及在哪里使用此属性来决定。对我来说,它永远不会被调用。
如果您在restartApplication
中阅读了IntuneMAMPolicyDelegate.h的文档,则显示:
当应用程序需要重新启动时,Intune SDK会调用此方法,因为政策是第一次收到,或者如果我们正在处理mam-ca修复并作为软件的一部分重新启动,因为我们需要删除现有用户。
据我所知,该方法由Intune SDK
管理,您只需要返回ture/false
即可确定应由谁来处理重新启动。(这意味着您不必使用此属性来决定)
on its own
,则返回TRUE。Intune SDK
处理重新启动并且我检查了一些样本,它们返回false
以让Intune SDK
处理重启。您可以在Chatr-Sample-Intune-iOS-App和Wagr-Sample-Intune-iOS-App中查看源代码。