diff --git a/Magic Switch/Info.plist b/Magic Switch/Info.plist index 89169b2..0e68580 100644 --- a/Magic Switch/Info.plist +++ b/Magic Switch/Info.plist @@ -33,6 +33,8 @@ CFBundleVersion $(CURRENT_PROJECT_VERSION) + LSApplicationCategoryType + public.app-category.utilities LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) LSUIElement diff --git a/Magic Switch/Model/Store/BluetoothPeripheralStore.swift b/Magic Switch/Model/Store/BluetoothPeripheralStore.swift index 73a0c12..ea50910 100644 --- a/Magic Switch/Model/Store/BluetoothPeripheralStore.swift +++ b/Magic Switch/Model/Store/BluetoothPeripheralStore.swift @@ -690,7 +690,7 @@ final class BluetoothPeripheralStore: NSObject, ObservableObject, BluetoothPerip guard validateBluetoothState() else { return } guard validateDeviceExists(peripheral) else { return } - var newPeripheral = peripheral + let newPeripheral = peripheral peripherals.append(newPeripheral) // Resolve the new row's live connection state (and register its disconnect // observer) right away. Without this the row reads `.disconnected` until @@ -1617,7 +1617,8 @@ final class BluetoothPeripheralStore: NSObject, ObservableObject, BluetoothPerip return } - DispatchQueue.main.async { + DispatchQueue.main.async { [weak self] in + guard let self = self else { return } // Identity, not just address, decides staleness: the newest attempt may // not have installed its own pair yet (its preflight is still on the // Bluetooth queue, or its peer round trip is in flight), so reading the