iOS 앱을 개발하다 보면 사용자에게 터치 피드백을 제공해야 하는 경우가 있습니다. iOS 13부터는 Core Haptics를 통해 터치 피드백을 구현할 수 있습니다. 이 기능을 사용하면 사용자의 상호작용에 대한 다양한 햅틱(진동) 경험을 제공할 수 있으며, 사용자에게 더욱 생동감 있는 경험을 선사할 수 있습니다.
Core Haptics 설정하기
Core Haptics를 사용하기 위해 먼저 프로젝트에 필요한 설정을 추가해야 합니다. Xcode에서 프로젝트를 열고, Capabilities
탭으로 이동하여 Haptic
을 활성화합니다.
import CoreHaptics
이제 Core Haptics를 사용하기 위해 import CoreHaptics
를 추가합니다.
Haptic 영향을 주는 이벤트 설정하기
터치 피드백을 적용할 이벤트를 정의해야 합니다. 예를 들어 버튼을 터치했을 때 피드백을 제공하려면 해당 버튼에 대한 UIControl 이벤트 처리기를 구현합니다.
@IBAction func buttonTapped(_ sender: UIButton) {
// Haptic 피드백을 생성하고 제공하는 코드
provideHapticFeedback()
}
위와 같이 버튼을 터치할 때 호출되는 메서드 내부에서 Haptic 피드백을 제공합니다.
Haptic 피드백 생성하기
Haptic 피드백을 생성하고 주는 과정은 CoreHaptics CHHapticEngine
을 사용합니다. 아래는 특정한 피드백 패턴을 정의하고 주는 예제 코드입니다:
func provideHapticFeedback() {
// CHHapticEngine 초기화
let hapticEngine = try CHHapticEngine()
try hapticEngine.start()
// Haptic 패턴 정의
let intensity = CHHapticEventParameter(parameterID: .hapticIntensity, value: 1)
let sharpness = CHHapticEventParameter(parameterID: .hapticSharpness, value: 1)
let event = CHHapticEvent(eventType: .hapticTransient, parameters: [intensity, sharpness], relativeTime: 0)
// Haptic 피드백 재생
try hapticEngine.playPattern([event])
}
위의 코드에서는 CHHapticEngine
을 초기화하고 시작하며, 그 다음에 특정한 피드백 패턴을 정의하고 재생합니다.
이제 Core Haptics를 사용하여 iOS 앱에 동적이고 생생한 터치 피드백을 제공할 수 있게 되었습니다. 사용자가 앱을 조작할 때 다채로운 햅틱 경험을 제공하여 앱의 유용성과 반응성을 향상시킬 수 있습니다.
더 많은 정보를 원하신다면 Apple Developer 사이트를 참고하세요.
Happy coding!