xamarin ios应用程序因CBCentralManager而崩溃

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

我有一个Fresh应用程序,除了下面的代码外,基本上没有其他代码。如果我在模拟器中尝试过,它将进入更新状态并显示不受支持。如果我尝试在第6代ipad(蓝牙已打开)上运行,则应用程序将在调试退出UIButton231_TouchUpInside时崩溃(并且永远不会陷入困境)。

我有什么遗漏吗?

        CBCentralManager _central;
    partial void UIButton231_TouchUpInside(UIButton sender)
    {
        try
        {
            BluetoothLEManager();
        }
        catch (Exception e)
        {
            Console.Write(e);
        }
    }

    protected void BluetoothLEManager()
    {
        try
        {
            _central = new CBCentralManager(DispatchQueue.CurrentQueue);
            _central.DiscoveredPeripheral += (object sender, CBDiscoveredPeripheralEventArgs e) =>
            {
                Console.WriteLine("DiscoveredPeripheral: " + e.Peripheral.Name);
                Console.WriteLine("RSSI: " + e.Peripheral.RSSI);
            };

            _central.UpdatedState += (object sender, EventArgs e) =>
            {
                Console.WriteLine("UpdatedState: " + _central.State);
            };


            _central.ConnectedPeripheral += (object sender, CBPeripheralEventArgs e) =>
            {
                Console.WriteLine("ConnectedPeripheral: " + e.Peripheral.Name);

            };

            _central.DisconnectedPeripheral += (object sender, CBPeripheralErrorEventArgs e) =>
            {
                Console.WriteLine("DisconnectedPeripheral: " + e.Peripheral.Name);
            };
        }
        catch (Exception e)
        {
            Console.Write(e);
        }
    }

在下面的图像中(压缩代码以使图像更短),调试很好地到达了第62行,但是尝试越过或让其继续将关闭应用程序,并且未达到catch中的断点。] >

enter image description here

我有一个Fresh应用程序,除了下面的代码外,基本上没有其他代码。如果我在模拟器中尝试过,它将进入更新状态并显示不受支持。如果我尝试在第6代上运行...

xamarin.ios
1个回答
0
投票

我在本地站点尝试过共享代码,它也崩溃并出现一些错误日志:

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