CoreSpotlight Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Permite a las aplicaciones agregar datos al índice de búsqueda del sistema.
Clases
CSCustomAttributeKey |
Una clave que los desarrolladores de aplicaciones pueden asociar a los metadatos de un elemento indizable que puede aparecer en los resultados de la búsqueda del usuario. |
CSIndexErrorCodeExtensions |
Métodos de extensión para la enumeración CoreSpotlight.CSIndexErrorCode. |
CSIndexExtensionRequestHandler |
Controlador para la comunicación entre la aplicación y el índice en el dispositivo. No es necesario que la aplicación se ejecute para que se produzca esta comunicación. |
CSLocalizedString |
Representa un objeto similar a una cadena que devuelve una versión específica de la configuración regional de una cadena. |
CSMailboxKey |
Representa claves que identifican buzones de correo usados habitualmente. |
CSPerson |
Un autor o un destinatario almacenados en .CSSearchableItemAttributeSet |
CSSearchableIndex |
Índice de búsqueda usado por Spotlight. |
CSSearchableIndex_CSOptionalBatchingExtension |
Métodos de extensión para T:CoreServices.CSSearchableIndex. |
CSSearchableIndexDelegate |
Delegar objeto que proporciona miembros a los que se llama al volver a indexar el índice. |
CSSearchableIndexDelegate_Extensions |
Métodos de extensión a la ICSSearchableIndexDelegate interfaz para admitir todos los métodos del CSSearchableIndexDelegate protocolo. |
CSSearchableItem |
Objeto que se puede buscar de forma única en un CSSearchableIndexobjeto . |
CSSearchableItemAttributeSet |
Contiene el contenido real que se va a indexar para la búsqueda. |
CSSearchQuery |
Busca datos que el desarrollador ha indexado previamente con Core Spotlight API. |
CSSearchQueryErrorCodeExtensions |
Métodos de extensión para la enumeración CoreSpotlight.CSSearchQueryErrorCode. |
Interfaces
ICSSearchableIndexDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo CSSearchableIndexDelegate. |
Enumeraciones
CSFileProtection |
Enumera las opciones de protección de archivos en las llamadas a M:CoreSpotlight.CSSearchableIndex.FromName*. |
CSIndexErrorCode |
Enumera los posibles errores asociados con el uso de Contenido destacado principal y la búsqueda. |
CSSearchQueryErrorCode |
Enumera los errores que se pueden producir al ejecutar una consulta principal de Spotlight con Start(). |
Delegados
CSSearchableIndexFetchHandler |
Controlador de finalización usado en FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler). |
Comentarios
Spotlight es la tecnología de búsqueda del sistema en iOS y OS X. CoreSpotlight permite a los desarrolladores agregar datos al índice de búsqueda. Una aplicación sobre la tabla periódica, por ejemplo, podría indexar los distintos elementos y mostrar la página pertinente después de una búsqueda.
La adición de datos a Spotlight se realiza mediante la adición CSSearchableItem de objetos a :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");
}
});
Cuando la aplicación se inicia a través de una búsqueda de Contenido destacado, el sistema llama al ContinueUserActivity método con el ActivityType establecido en 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