import Foundation import SystemExtensions let bundleID = "com.momentry.markbase.fskit" let appPath = "/Users/accusys/markbase/build/MarkBaseFSKit.app" print("Installing System Extension: \(bundleID)") print("Bundle path: \(appPath)") let request = OSSystemExtensionRequest.activationRequest( forExtensionIdentifier: bundleID, queue: .main ) let delegate = ExtensionDelegate() request.delegate = delegate OSSystemExtensionManager.shared.submitRequest(request) print("Request submitted. Waiting for user approval...") print("Check System Settings → Privacy & Security → System Extensions") RunLoop.main.run() class ExtensionDelegate: NSObject, OSSystemExtensionRequestDelegate { func request(_ request: OSSystemExtensionRequest, didFinishWithResult result: OSSystemExtensionRequest.Result) { print("✅ Installation succeeded!") print("Result: \(result)") exit(0) } func request(_ request: OSSystemExtensionRequest, didFailWithError error: Error) { print("❌ Installation failed!") print("Error: \(error.localizedDescription)") exit(1) } func requestNeedsUserApproval(_ request: OSSystemExtensionRequest) { print("⚠️ User approval required") print("Please approve in System Settings → Privacy & Security") } func request(_ request: OSSystemExtensionRequest, actionForReplacingExtension existing: OSSystemExtensionProperties, with new: OSSystemExtensionProperties) -> OSSystemExtensionRequest.ReplacementAction { print("Extension already exists, replacing...") return .replace } }