[swift] SwiftGen과 함께 하는 푸시 알림 설정

SwiftGen은 Swift 코드를 생성하여 앱 개발 시간을 단축시켜주는 유용한 도구입니다. 이번 포스트에서는 SwiftGen을 사용하여 푸시 알림 설정을 하는 방법에 대해 알아보겠습니다.

SwiftGen 설치

먼저 SwiftGen을 설치해야 합니다. SwiftGen은 CocoaPods나 Carthage를 통해 설치할 수 있습니다. Cocoapods를 사용하는 경우, Podfile에 다음과 같이 추가합니다:

pod 'SwiftGen'

그리고 터미널에서 다음 명령어를 실행하여 SwiftGen을 설치합니다:

pod install

Carthage를 사용하는 경우, Cartfile에 다음과 같이 추가합니다:

github "SwiftGen/SwiftGen"

그리고 터미널에서 다음 명령어를 실행하여 SwiftGen을 설치합니다:

carthage update --platform iOS

푸시 알림 설정

SwiftGen을 사용하여 푸시 알림 설정을 시작해봅시다. 우선 프로젝트 내에 PushNotification.strings 파일을 생성하고, 아래와 같이 푸시 알림에 사용될 텍스트를 추가합니다:

/* PushNotification.strings */
"notification_title" = "새로운 알림";
"notification_body" = "새로운 알림이 도착했습니다.";

다음으로, 터미널에서 다음 명령어를 실행하여 SwiftGen을 사용하여 코드를 생성합니다:

swiftgen strings -t structured-swift3 PushNotification.strings -o PushNotification.swift

위 명령어를 실행하면 PushNotification.swift 파일이 생성됩니다. 이 파일에는 PushNotification 구조체가 포함되어 있으며, 푸시 알림에 사용되는 문자열에 대한 타입 세이프한 접근을 제공합니다.

이제 알림을 발송할 때, PushNotification 구조체를 사용하여 문자열을 가져올 수 있습니다:

import UserNotifications
import UIKit

UNUserNotificationCenter.current().delegate = self

func pushNotificationReceived(userInfo: [AnyHashable: Any]) {
    guard let title = PushNotification.notification_title,
          let body = PushNotification.notification_body else {
        return
    }

    let content = UNMutableNotificationContent()
    content.title = title
    content.body = body

    // 알림 발송 코드
    let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil)
    UNUserNotificationCenter.current().add(request)
}

위 코드에서 PushNotification.notification_titlePushNotification.notification_body를 사용하여 푸시 알림 문자열을 가져옵니다. 이로써 SwiftGen을 사용하여 편리하게 푸시 알림 설정을 완료할 수 있습니다.

마무리

SwiftGen을 사용하여 푸시 알림 설정을 하는 방법에 대해 살펴보았습니다. SwiftGen은 앱 개발 과정을 효율적으로 관리할 수 있는 강력한 도구로, 특히 다국어 지원 및 문자열 관리에 유용합니다. SwiftGen을 활용하여 코드를 자동으로 생성하여 앱 개발을 더욱 즐겁고 효율적으로 만들어보세요.