[swift] Swift에서 푸시 알림을 사용하여 예약 알림 제공하기

iOS 애플리케이션을 개발할 때, 사용자에게 정기적인 예약 알림을 제공하려면 푸시 알림을 사용해야 합니다. Swift에서는 푸시 알림을 쉽게 구현할 수 있는 기능을 제공합니다. 이 글에서는 Swift에서 푸시 알림을 설정해 예약 알림을 제공하는 방법에 대해 알아보겠습니다.

1. Certificates 및 푸시 알림 설정

푸시 알림을 사용하려면 Apple Developer 계정에서 Certificates와 Push Notification 기능을 활성화해야 합니다. 이 과정은 Xcode 환경에서 진행할 수 있습니다. 다음 단계를 따라 푸시 알림 설정을 완료합니다.

  1. Apple Developer 계정에 로그인하여 Certificates, Identifiers, and Profiles 페이지로 이동합니다.
  2. 인증서 부분에서 ‘Apple Push Notification service SSL (Sandbox & Production)’ 인증서를 생성합니다.
  3. App ID를 만들고 Push Notification 기능을 활성화합니다.
  4. 생성한 인증서를 사용하여 Provisioning Profile을 생성합니다.

2. APNs (Apple Push Notification service) 설정하기

생성한 Provisioning Profile을 통해 APNs에 앱을 등록해야 합니다. 다음은 APNs 설정하는 방법입니다.

  1. Xcode에서 프로젝트를 엽니다.
  2. 앱의 타겟을 선택하고 ‘Signing & Capabilities’ 탭으로 이동합니다.
  3. Capabilities 목록에서 ‘Push Notifications’을 활성화합니다.

3. 푸시 알림 등록

푸시 알림을 받을 기기를 등록해야 합니다. 다음은 푸시 알림을 등록하는 방법입니다.

  1. AppDelegate.swift 파일을 엽니다.
  2. 다음 코드를 추가합니다.
import UserNotifications

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { (granted, error) in
        if granted {
            application.registerForRemoteNotifications()
        }
    }

    return true
}

// 푸시 알림 등록이 성공한 경우 호출됩니다.
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    let tokenParts = deviceToken.map { data in String(format: "%02.2hhx", data) }
    let token = tokenParts.joined()
    print("Device Token: \(token)")
}

// 푸시 알림 등록이 실패한 경우 호출됩니다.
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
    print("Failed to register for remote notifications: \(error.localizedDescription)")
}

이제 앱이 실행될 때 사용자에게 푸시 알림 권한을 요청하고, 권한이 부여되었을 때 토큰을 가져오는 코드가 추가되었습니다.

4. 푸시 알림 보내기

이제 푸시 알림을 보낼 준비가 되었습니다. 다음은 푸시 알림을 보내는 방법입니다.

  1. Apple Developer 계정에서 앱의 인증서와 Provisioning Profile을 준비합니다.
  2. 푸시 알림을 보낼 서버를 구성하고, 푸시 알림을 보내는 코드를 작성합니다.
    • 서버에서는 APNs에 인증서와 푸시 알림을 전송하고, APNs에서 알림을 기기로 전달합니다.
    • Pusher와 같은 서비스를 사용하여 푸시 알림을 보낼 수도 있습니다.

참고 자료