[swift] Swift Koloda를 사용하여 카드 스와이프 시 소리 재생하기

Koloda는 iOS 앱에서 카드 스와이프 기능을 구현하기 위한 라이브러리입니다. 이 라이브러리를 사용하면 사용자가 카드를 좌우로 스와이프하거나 버튼을 누르는 등의 제스처로 쉽게 카드를 제어할 수 있습니다. 이번에는 Koloda를 사용하여 카드를 스와이프할 때 소리를 재생하는 방법에 대해 알아보겠습니다.

1. 사운드 파일 추가

먼저 프로젝트에 사용할 사운드 파일을 추가해야 합니다. 아래 단계를 따라 진행해주세요.

  1. Xcode에서 프로젝트를 열고 Assets.xcassets을 선택합니다.
  2. 우클릭하여 New Sound를 선택합니다.
  3. 추가한 사운드 파일에 원하는 이름을 지정하고, 파일을 선택합니다.

2. AVFoundation 프레임워크 임포트

소리를 재생하기 위해 AVFoundation 프레임워크를 임포트해야 합니다. 프로젝트 파일의 맨 위에 다음 코드를 추가해주세요.

import AVFoundation

3. AVAudioPlayer 객체 생성

사운드 파일을 재생하기 위해 AVAudioPlayer 객체를 생성해야 합니다. 카드 스와이프 시 소리를 재생하기 위해 Koloda의 didSwipeCardAt 메서드를 사용할 것이므로, 해당 메서드에서 AVAudioPlayer 객체를 생성하도록 합니다. 아래 코드를 참고해주세요.

func koloda(_ koloda: KolodaView, didSwipeCardAt index: Int, in direction: SwipeResultDirection) {
    guard let soundURL = Bundle.main.url(forResource: "swipe_sound", withExtension: "mp3") else { return }

    do {
        let audioPlayer = try AVAudioPlayer(contentsOf: soundURL)
        audioPlayer.play()
    } catch {
        print("Failed to play sound: \(error)")
    }
}

위 코드에서 swipe_sound.mp3는 추가한 사운드 파일의 이름과 확장자입니다.

4. Koloda 델리게이트 설정

마지막으로, Koloda 델리게이트를 설정하여 코드를 실행할 준비를 마무리합니다. ViewController에서 Koloda의 델리게이트를 설정하는 부분에 다음 코드를 추가해주세요.

kolodaView.delegate = self

마무리

이제 Koloda를 사용하여 카드를 스와이프할 때 소리를 재생할 수 있게 되었습니다. 사운드 파일을 추가하고 AVAudioPlayer 객체를 생성한 후, Koloda의 didSwipeCardAt 메서드에서 사운드를 재생하도록 구현했습니다. 이를 통해 사용자 경험을 향상시킬 수 있습니다.

참고 자료