[iOS] ILClassificationResponse

2025. 2. 3. 21:07iOS

반응형

ILClassificationResponse는 iOS에서 전화 및 메시지 필터링을 위한 Identity Lookup(IL) 프레임워크에서 사용되는 클래스 중 하나입니다. 이를 통해 앱이 특정 전화번호나 메시지를 필터링할 때, 분류 결과를 제공할 수 있습니다.


🔹 ILClassificationResponse란?

ILClassificationResponse는 전화번호 또는 메시지의 분류 결과를 나타내는 객체로, ILClassificationRequest에 대한 응답으로 사용됩니다.

이 클래스는 iOS 17에서 도입되었으며, 사용자가 받은 문자 메시지(SMS/MMS)나 전화번호가 어떤 유형인지를 분류하는 역할을 합니다.


📌 사용 시나리오

  • 스팸 전화/문자 탐지 앱에서, 수신한 전화번호나 메시지를 스팸, 홍보, 사기 등으로 분류할 때 사용됩니다.
  • 사용자가 받은 메시지를 기반으로 분류 카테고리를 제공하여 필터링할 수 있도록 지원합니다.

🎯 주요 프로퍼티

ILClassificationResponse에는 다음과 같은 프로퍼티가 있습니다.

프로퍼티 타입 설명
classification String 분류된 카테고리 (예: "spam", "transaction", "promotion")

💡 카테고리 값은 Apple이 정한 문자열 값을 사용해야 하며, 임의의 값을 지정할 수 없습니다.


🛠 사용 예제

1️⃣ 기본적인 응답 생성

ILClassificationResponse를 사용하여 수신된 메시지를 "promotion" (광고) 카테고리로 분류하는 예제입니다.

import IdentityLookup

class MessageFilterExtension: ILMessageFilterExtension {
    override func handle(_ request: ILClassificationRequest, context: ILClassificationRequest.Context, completion: @escaping (ILClassificationResponse) -> Void) {
        
        // 응답 객체 생성
        let response = ILClassificationResponse()
        
        // 예제: 메시지 내용에 따라 분류
        if let messageBody = request.messageBody?.lowercased() {
            if messageBody.contains("할인") || messageBody.contains("이벤트") {
                response.classification = ILClassificationCategory.promotion // "promotion"으로 분류
            } else if messageBody.contains("환급") || messageBody.contains("사기") {
                response.classification = ILClassificationCategory.fraud // "fraud"로 분류
            } else {
                response.classification = ILClassificationCategory.unknown // 분류할 수 없는 경우
            }
        }
        
        // 필터링 결과 반환
        completion(response)
    }
}

🎯 ILClassificationCategory의 주요 분류 값

Apple은 특정 문자열을 카테고리 값으로 사용할 것을 요구합니다. 대표적인 값은 다음과 같습니다.

카테고리 값(ILClassificationCategory) 설명
spam .spam 스팸 메시지
fraud .fraud 사기성 메시지
promotion .promotion 광고 메시지
transaction .transaction 금융 거래 관련 메시지
personal .personal 개인 메시지
unknown .unknown 분류할 수 없는 메시지

💡 커스텀 값을 직접 지정할 수는 없으며, Apple이 제공하는 분류만 사용할 수 있습니다.


🚀 정리

  • ILClassificationResponse는 전화 또는 메시지를 필터링하는 앱이 특정 분류를 제공할 때 사용합니다.
  • classification 프로퍼티에 Apple이 정한 카테고리 값을 설정해야 하며, 스팸, 사기, 광고 등으로 분류할 수 있습니다.
  • ILClassificationRequest와 함께 사용되며, 메시지 필터링 확장에서 스팸 탐지 기능을 구현할 때 필수적입니다.
반응형

'iOS' 카테고리의 다른 글

[iOS] Async/Await  (1) 2025.02.06
[iOS] 무결성 (Integrity)  (2) 2025.02.06
[iOS] Performance Trace란?  (0) 2025.02.01
[iOS] Core Data vs Realm  (0) 2025.02.01
[Swift] Optional  (0) 2025.02.01