found an easy solution:
1 .create an UIControl extension
private let swizzling: (AnyClass, Selector, Selector) -> () = { forClass, originalSelector, swizzledSelector in
    let originalMethod = class_getInstanceMethod(forClass, originalSelector)
    let swizzledMethod = class_getInstanceMethod(forClass, swizzledSelector)
    method_exchangeImplementations(originalMethod!, swizzledMethod!)
}
extension UIControl {
    static let classInit: Void = {
        let originalSelector = #selector(sendAction(_:to:for:))
        let swizzledSelector = #selector(swizzled_sendAction(_:to:for:))
        swizzling(UIControl.self, originalSelector, swizzledSelector)
    }()
    @objc func swizzled_sendAction(_ action: Selector, to target: Any?, for event: UIEvent?) {
        swizzled_sendAction(action, to: target, for: event)
        print("action was triggered")
    }
}
- init in AppDelegate: - @UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate { - override init() {
    super.init()
    UIControl.classInit
}
 
example from here: https://stackoverflow.com/a/42047289/2820043