iOS 上的毛伊岛晴雨表读数导致应用程序崩溃

问题描述 投票:0回答:1

我的应用程序的一部分是尝试读取气压(如果传感器可用)。该代码在 Android 上运行良好,但在 IOS 上会使应用程序崩溃。我的 iPhone 是 iOS 17.4。在特定于平台的情况下,Microsoft 谈到 IOS Barometer 使用 CMAltimeter 进行测量,这可能需要设置权限。

在 Info.plist 中,我添加了在另一个论坛中找到的标签。

<key>NSMotionUsageDescription</key>
<string>Needed for Barometer reading</string>

我的NavigationViewModel中导致崩溃的相关代码如下:

    if (Barometer.Default.IsSupported)
    {
        try
        { 
        Barometer.Default.ReadingChanged += Barometer_ReadingChanged;
        Barometer.Default.Start(SensorSpeed.UI);
        }
        catch (Exception ex)
        {
            // Barometer through an error
            MyMessage = ex.ToString();
        }
    }
    else
    {
        BarometerLabel = "NC";
    }

如果一切顺利,它指向这个例程:

private void Barometer_ReadingChanged(object sender, BarometerChangedEventArgs e)
{
    // Update UI Label with barometer state
    Bar1 = $"Barometer: {e.Reading}";
    BarometerLabel = Bar1.Substring(35, 4) + " mBar";
}

令人沮丧的是,catch 没有捕获错误,info.plist 中的标签也没有生成用户操作。

有人有什么想法吗?

ios crash maui sensors
1个回答
0
投票

这是 github 中现有的 bug:iOS 17.4,Barometer.Default.Start 无限期挂起

此问题目前在iOS 17.4中存在。作为解决方法,您可以尝试在非 17.4 iOS 设备上运行您的程序,检查是否出现相同的问题。

© www.soinside.com 2019 - 2024. All rights reserved.