다음을 통해 공유


CoreSpotlight 네임스페이스

애플리케이션에서 시스템 검색 인덱스에 데이터를 추가할 수 있습니다.

클래스

CSCustomAttributeKey

앱 개발자가 사용자 검색 결과에 표시할 수 있는 인덱싱 가능한 항목에 대한 메타데이터와 연결할 수 있는 키입니다.

CSIndexErrorCodeExtensions

CoreSpotlight.CSIndexErrorCode 열거형에 대한 확장 메서드입니다.

CSIndexExtensionRequestHandler

애플리케이션과 디바이스의 인덱스 간의 통신을 위한 처리기입니다. 이 통신이 수행되려면 앱을 실행할 필요가 없습니다.

CSLocalizedString

로캘별 문자열 버전을 반환하는 문자열과 유사한 개체를 나타냅니다.

CSMailboxKey

일반적으로 사용되는 사서함을 식별하는 키를 나타냅니다.

CSPerson

에 저장된 CSSearchableItemAttributeSet작성자 또는 받는 사람

CSSearchableIndex

Spotlight에서 사용하는 검색 인덱스입니다.

CSSearchableIndex_CSOptionalBatchingExtension

T:CoreServices.CSSearchableIndex에 대한 확장 메서드입니다.

CSSearchableIndexDelegate

인덱스를 다시 인덱싱할 때 호출되는 멤버를 제공하는 대리자 개체입니다.

CSSearchableIndexDelegate_Extensions

프로토콜의 모든 메서드를 ICSSearchableIndexDelegate 지원하기 위해 인터페이스에 대한 확장 메서드입니다 CSSearchableIndexDelegate .

CSSearchableItem

에서 고유하게 식별할 수 있는 검색 가능한 개체입니다 CSSearchableIndex.

CSSearchableItemAttributeSet

검색을 위해 인덱싱할 실제 콘텐츠를 보유합니다.

CSSearchQuery

개발자가 이전에 Core Spotlight API를 사용하여 인덱싱한 데이터를 검색합니다.

CSSearchQueryErrorCodeExtensions

CoreSpotlight.CSSearchQueryErrorCode 열거형에 대한 확장 메서드입니다.

인터페이스

ICSSearchableIndexDelegate

프로토콜 CSSearchableIndexDelegate의 필수 메서드(있는 경우)를 나타내는 인터페이스입니다.

열거형

CSFileProtection

CoreSpotlight.CSSearchableIndex.FromName*에 대한 호출에서 파일 보호 옵션을 열거합니다.

CSIndexErrorCode

Core Spotlight 사용 및 검색과 관련된 가능한 오류를 열거합니다.

CSSearchQueryErrorCode

를 사용하여 Core Spotlight 쿼리 Start()를 실행하는 동안 발생할 수 있는 오류를 열거합니다.

대리자

CSSearchableIndexFetchHandler

에서 사용되는 완료 처리기입니다 FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler).

설명

추천은 iOS 및 OS X의 시스템 검색 기술입니다. CoreSpotlight를 사용하면 개발자가 검색 인덱스에 데이터를 추가할 수 있습니다. 예를 들어 주기적 테이블에 대한 앱은 다양한 요소를 인덱싱하고 검색 후 관련 페이지를 표시할 수 있습니다.

Spotlight에 데이터를 추가하는 작업은 에 개체를 추가하여 CSSearchableItem 수행됩니다 DefaultSearchableIndex.

//Create CSSearchableItems
var dataItems = searchIndexMap.Select (keyValuePair => {
    Guid guid = keyValuePair.Key;
    String data = keyValuePair.Value;
    var attributeSet = new CSSearchableItemAttributeSet (UTType.Text);
    attributeSet.Title = data + " Page";
    attributeSet.ContentDescription = "My app's data relating to " + data;
    attributeSet.TextContent = data;

    var dataItem = new CSSearchableItem (guid.ToString (), "com.xamarin.CoreSpotlight0", attributeSet);
    return dataItem;
});
//Add items to system index
CSSearchableIndex.DefaultSearchableIndex.Index (dataItems.ToArray<CSSearchableItem> (), err => {
    if (err != null) {
        Console.WriteLine (err);
    } else {
        Console.WriteLine ("Indexed items successfully");
    }
});

추천 콘텐츠 검색을 통해 애플리케이션이 시작되면 시스템은 로 설정된 메서드를 ActivityType 호출 ContinueUserActivity 합니다ActionType.

public override bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{
    if (userActivity.ActivityType == CSSearchableItem.ActionType) {
        var uuid = userActivity.UserInfo.ObjectForKey (CSSearchableItem.ActivityIdentifier);
//... handle Spotlight search for identifier