diff --git a/macos/QMK Toolbox/Info.plist b/macos/QMK Toolbox/Info.plist index dac16aa8cd..2e9747eeb5 100644 --- a/macos/QMK Toolbox/Info.plist +++ b/macos/QMK Toolbox/Info.plist @@ -13,6 +13,8 @@ CFBundleTypeRole Viewer + LSHandlerRank + Default LSItemContentTypes fm.qmk.hex @@ -20,7 +22,7 @@ LSTypeIsPackage 0 NSDocumentClass - NSDocument + CFBundleTypeExtensions @@ -29,6 +31,8 @@ CFBundleTypeRole Viewer + LSHandlerRank + Default LSItemContentTypes com.apple.macbinary-archive @@ -36,7 +40,7 @@ LSTypeIsPackage 0 NSDocumentClass - NSDocument + CFBundleExecutable diff --git a/macos/QMK Toolbox/MainViewController.swift b/macos/QMK Toolbox/MainViewController.swift index cdf5e98c94..4e8298b022 100644 --- a/macos/QMK Toolbox/MainViewController.swift +++ b/macos/QMK Toolbox/MainViewController.swift @@ -1,4 +1,5 @@ import Cocoa +import UniformTypeIdentifiers class MainViewController: NSViewController, USBListenerDelegate { @IBOutlet var filepathBox: NSComboBox! @@ -273,7 +274,10 @@ class MainViewController: NSViewController, USBListenerDelegate { openPanel.canChooseDirectories = false openPanel.allowsMultipleSelection = false openPanel.message = "Select firmware to load" - openPanel.allowedFileTypes = ["bin", "hex"] + openPanel.allowedContentTypes = [ + UTType(filenameExtension: "bin")!, + UTType(filenameExtension: "hex")! + ] openPanel.beginSheetModal(for: window) { response in guard response == .OK, let file = openPanel.url else { return } self.setFilePath(file) diff --git a/macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift b/macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift index aedf0bf512..903db6123e 100644 --- a/macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift +++ b/macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift @@ -124,7 +124,7 @@ class BootloaderDevice: USBDeviceProtocol, CustomStringConvertible { let serialMatcher = IOServiceMatching(kIOSerialBSDServiceValue) var serialIterator: io_iterator_t = 0 - guard IOServiceGetMatchingServices(kIOMasterPortDefault, serialMatcher, &serialIterator) == KERN_SUCCESS else { return nil } + guard IOServiceGetMatchingServices(kIOMainPortDefault, serialMatcher, &serialIterator) == KERN_SUCCESS else { return nil } repeat { let port = IOIteratorNext(serialIterator) diff --git a/macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift b/macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift index ec235014c0..1995bde460 100644 --- a/macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift +++ b/macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift @@ -41,7 +41,7 @@ class LUFAMSDevice: BootloaderDevice { massStorageMatcher[kIOMediaRemovableKey] = true var massStorageIterator: io_iterator_t = 0 - guard IOServiceGetMatchingServices(kIOMasterPortDefault, massStorageMatcher as CFDictionary, &massStorageIterator) == KERN_SUCCESS else { return nil } + guard IOServiceGetMatchingServices(kIOMainPortDefault, massStorageMatcher as CFDictionary, &massStorageIterator) == KERN_SUCCESS else { return nil } repeat { let media = IOIteratorNext(massStorageIterator) diff --git a/macos/QMK Toolbox/USB/USBListener.swift b/macos/QMK Toolbox/USB/USBListener.swift index 81666151f7..bbc28671ea 100644 --- a/macos/QMK Toolbox/USB/USBListener.swift +++ b/macos/QMK Toolbox/USB/USBListener.swift @@ -25,7 +25,7 @@ class USBListener: BootloaderDeviceDelegate { } func start() { - notificationPort = IONotificationPortCreate(kIOMasterPortDefault) + notificationPort = IONotificationPortCreate(kIOMainPortDefault) let runLoopSource = IONotificationPortGetRunLoopSource(notificationPort).takeUnretainedValue() CFRunLoopAddSource(RunLoop.current.getCFRunLoop(), runLoopSource, .defaultMode)