[ios] CoreSpotlight와 다국어 지원

iOS 앱이 다양한 국가 및 언어로 서비스되는 경우, CoreSpotlight 프레임워크를 사용하여 앱의 콘텐츠를 사용자의 iOS 기기에 색인화할 수 있습니다. CoreSpotlight는 iOS의 검색 결과 및 Siri의 지능형 제안과 연결되어 앱에 대한 검색 결과가 표시될 수 있게 합니다.

CoreSpotlight 소개

CoreSpotlight은 iOS 9부터 도입된 프레임워크로, 사용자의 iOS 기기에서 앱의 콘텐츠를 검색할 수 있도록 해줍니다. 이를 통해 사용자는 앱 내부의 콘텐츠를 iOS 내장 검색 앱 또는 Siri를 통해 쉽게 찾을 수 있습니다.

다국어 지원

CoreSpotlight는 다국어 지원을 강력하게 지원합니다. iOS 앱이 다국어를 지원하는 경우, CoreSpotlight를 활용하여 각 언어별로 상응하는 색인화 정보를 제공할 수 있습니다. 이를 통해 사용자는 해당 언어로 검색어를 입력하고 그에 맞는 결과를 제공받을 수 있습니다.

예제

다국어 지원을 위해, 각 언어별 콘텐츠에 대한 Spotlight 메타데이터를 생성해야 합니다. 아래는 Swift 언어로 다국어 지원 예제 코드입니다.

let itemAttributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeImage as String)
itemAttributeSet.title = NSLocalizedString("imageTitle", comment: "")
itemAttributeSet.contentDescription = NSLocalizedString("imageDescription", comment: "")

let searchableItem = CSSearchableItem(uniqueIdentifier: "image_1", domainIdentifier: "images", attributeSet: itemAttributeSet)
CSSearchableIndex.default().indexSearchableItems([searchableItem]) { error in
    if let error = error {
        print("Indexing error: \(error.localizedDescription)")
    } else {
        print("Content indexed successfully")
    }
}

위 예제에서 NSLocalizedString 함수를 사용하여 각 언어에 해당하는 이미지 제목과 설명을 가져오고 있습니다.

결론

CoreSpotlight를 사용하여 iOS 앱의 콘텐츠를 색인화할 때, 다국어 지원을 고려하는 것이 중요합니다. 적절한 다국어 지원을 통해 사용자는 자신의 언어로 검색하고 그에 맞는 결과를 쉽게 찾을 수 있습니다.

참고 자료