[swift] CoreHaptics를 활용한 터치 피드백 응용 사례

본 포스트에서는 CoreHaptics 기능을 활용하여 터치 피드백을 구현하는 방법을 살펴볼 것이다. CoreHaptics는 iOS 13 이상에서 사용할 수 있는 새로운 프레임워크로, 터치 피드백과 진동을 다루는 데 유용하다.

CoreHaptics 소개

CoreHaptics는 사용자에게 터치 피드백을 제공하기 위한 프레임워크로, 다양한 형태의 진동을 생성할 수 있다. iOS 기기의 Taptic 엔진과 진동 부분을 제어할 수 있으며, 진동의 세기, 지속 시간, 강도 등을 세밀하게 조절할 수 있다.

터치 피드백 구현

터치 피드백을 구현하기 위해서는 다음과 같은 단계를 따라야 한다.

  1. CHHapticEngine 인스턴스 생성
    let hapticEngine = try CHHapticEngine()
    
  2. CHHapticPatternCHHapticEvent 정의
    let pattern = try CHHapticPattern(events: [event], parameters: [])
    let event = CHHapticEvent(eventType: .hapticContinuous, parameters: [], relativeTime: 0)
    
  3. CHHapticPatternCHHapticEngine을 이용한 터치 피드백 재생
    try hapticEngine.start()
    try hapticEngine.playPattern(pattern)
    

예시

아래는 버튼이 탭될 때 터치 피드백을 주는 간단한 예시 코드이다.

@IBAction func buttonTapped(_ sender: UIButton) {
    do {
        let hapticEngine = try CHHapticEngine()
        let event = CHHapticEvent(eventType: .hapticContinuous, parameters: [], relativeTime: 0)
        let pattern = try CHHapticPattern(events: [event], parameters: [])
        
        try hapticEngine.start()
        try hapticEngine.playPattern(pattern)
    } catch let error {
        print("Error creating haptic engine: \(error)")
    }
}

마무리

CoreHaptics를 활용하면 앱에 다양한 터치 피드백을 구현할 수 있으며, 사용자 경험을 향상시키는 데 도움이 된다. 터치 피드백을 통해 앱의 상호 작용에 더욱 생동감을 불어 넣을 수 있으므로, 앱 개발 시 이를 적극 활용하는 것이 좋다.

참조: