Compartilhar via


CoreSpotlight Namespace

Permite que os aplicativos adicionem dados ao índice de pesquisa do sistema.

Classes

CSCustomAttributeKey

Uma chave que os desenvolvedores de aplicativos podem associar aos metadados de um item indexável que pode aparecer nos resultados da pesquisa do usuário.

CSIndexErrorCodeExtensions

Métodos de extensão para a enumeração CoreSpotlight.CSIndexErrorCode.

CSIndexExtensionRequestHandler

Manipulador para comunicação entre o aplicativo e o índice no dispositivo. O aplicativo não precisa estar em execução para que essa comunicação ocorra.

CSLocalizedString

Representa um objeto semelhante a uma cadeia de caracteres que retorna uma versão específica da localidade de uma cadeia de caracteres.

CSMailboxKey

Representa chaves que identificam caixas de correio comumente usadas.

CSPerson

Um autor ou um destinatário armazenado em um CSSearchableItemAttributeSet.

CSSearchableIndex

Um índice de pesquisa usado pelo Spotlight.

CSSearchableIndex_CSOptionalBatchingExtension

Métodos de extensão para T:CoreServices.CSSearchableIndex.

CSSearchableIndexDelegate

Objeto Delegate que fornece membros que são chamados ao reindexar o índice.

CSSearchableIndexDelegate_Extensions

Métodos de extensão para a ICSSearchableIndexDelegate interface para dar suporte a todos os métodos do CSSearchableIndexDelegate protocolo.

CSSearchableItem

Um objeto pesquisável e identificável exclusivamente em um CSSearchableIndex.

CSSearchableItemAttributeSet

Mantém o conteúdo real a ser indexado para pesquisa.

CSSearchQuery

Pesquisa dados que o desenvolvedor indexou anteriormente com a API principal do Spotlight.

CSSearchQueryErrorCodeExtensions

Métodos de extensão para a enumeração CoreSpotlight.CSSearchQueryErrorCode.

Interfaces

ICSSearchableIndexDelegate

Interface que representa os métodos necessários (se houver) do protocolo CSSearchableIndexDelegate.

Enumerações

CSFileProtection

Enumera opções de proteção de arquivo em chamadas para M:CoreSpotlight.CSSearchableIndex.FromName*.

CSIndexErrorCode

Enumera possíveis erros associados ao uso do Destaque Principal e pesquisa.

CSSearchQueryErrorCode

Enumera erros que podem ocorrer durante a execução de uma consulta core spotlight com Start().

Delegados

CSSearchableIndexFetchHandler

Manipulador de conclusão usado em FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler).

Comentários

Destaque é a tecnologia de pesquisa do sistema no iOS e no OS X. O CoreSpotlight permite que os desenvolvedores adicionem dados ao índice de pesquisa. Um aplicativo sobre a tabela periódica, por exemplo, poderia indexar os vários elementos e abrir a página relevante após uma pesquisa.

A adição de dados ao Spotlight é feita adicionando CSSearchableItem objetos ao 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");
    }
});

Quando o aplicativo é iniciado por meio de uma pesquisa de conteúdo do Spotlight, o sistema chama o ContinueUserActivity método com o ActivityType definido como 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