이건 abstract superclass이고, 구체 클래스는 3가지를 제공
UIImpactFeedbackGenerator
UISelectionFeedbackGenerator
UINotificationFeedbackGenerator
위 셋 중 하나를 써서 미리 정의된 햅틱을 간단하게 사용할 수 있음
사용자 기기의 시스템 설정에서 haptic이 켜져 있어야 동작함
아래는 UINotifcationFeedbackGenerator를 사용한 예
import UIKit
enum Haptic {
  
  static let haptic = UINotificationFeedbackGenerator()
  
  static func success() {
    Task {
      await haptic.notificationOccurred(.success)
    }
  }
  
  static func warning() {
    Task {
      await haptic.notificationOccurred(.warning)
    }
  }
  
  static func error() {
    Task {
      await haptic.notificationOccurred(.error)
    }
  }
}