Xamarin.Forms (iOS) 在发布中请求跟踪授权不会提示用户,但会假设用户点击被拒绝

问题描述

根据最新的 iOS 政策,您可以询问用户是否可以跟踪他或她。在调试中,下面的代码将打开一个提示,询问用户他或她是否可以被跟踪。如果确定,则应用继续,如果被拒绝,则应用结束(在 iMessage 之后)。

但是,一旦我将应用发布并部署到真实手机上,提示总是会被跳过,而是显示失败的 iMessage 并退出应用

为什么生产中缺少提示?在调试中,它工作得很好。

if (Device.RuntimePlatform == Device.iOS)
{
    try
    {
        ATTrackingManager.RequestTrackingAuthorization((status) => {
            if (status == ATTrackingManagerAuthorizationStatus.Authorized)
            {
                //start once at launch afterwards with timer
                GetNewChatsCount();
                
                SetButtons();
                
                StartChatDownloadCounter();
                
            }
            else if (status == ATTrackingManagerAuthorizationStatus.Denied)
            {
                Device.BeginInvokeOnMainThread(async() =>
                {
                    DependencyService.Get<IMessage>().VeryLongalert("Leider kannst du in diesem Fall die App nicht nutzen. Wir benötigen diese Infos,um allen Kunden ein gesichertes Umfeld zu bieten. Installiere die App neu,wenn du deine Meinung änderst.");
                    await Task.Delay(8000);
                    Environment.Exit(0);
                    
                });
            }
        });
    }
    catch (Exception e)
    {
        
    }
    
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)