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)