CoreSpotlight 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
允许应用程序将数据添加到系统搜索索引。
类
CSCustomAttributeKey |
一个键,应用开发人员可以将其与可显示在用户搜索结果中的可索引项的元数据相关联。 |
CSIndexErrorCodeExtensions |
CoreSpotlight.CSIndexErrorCode 枚举的扩展方法。 |
CSIndexExtensionRequestHandler |
应用程序与设备上的索引之间的通信的处理程序。 无需运行应用,就会发生此通信。 |
CSLocalizedString |
表示类似于字符串的对象,该对象返回字符串的区域设置特定版本。 |
CSMailboxKey |
表示标识常用邮箱的键。 |
CSPerson |
存储在 中的 CSSearchableItemAttributeSet作者或收件人。 |
CSSearchableIndex |
Spotlight 使用的搜索索引。 |
CSSearchableIndex_CSOptionalBatchingExtension | |
CSSearchableIndexDelegate |
委托对象,提供在重新编制索引索引时调用的成员。 |
CSSearchableIndexDelegate_Extensions |
接口的 ICSSearchableIndexDelegate 扩展方法,以支持协议中的所有方法 CSSearchableIndexDelegate 。 |
CSSearchableItem |
中可唯一 CSSearchableIndex标识的可搜索对象。 |
CSSearchableItemAttributeSet |
保留要为搜索编制索引的实际内容。 |
CSSearchQuery |
搜索开发人员之前使用 Core Spotlight API 编制索引的数据。 |
CSSearchQueryErrorCodeExtensions |
CoreSpotlight.CSSearchQueryErrorCode 枚举的扩展方法。 |
接口
ICSSearchableIndexDelegate |
表示所需方法的接口 ((如果协议 CSSearchableIndexDelegate有任何) )。 |
枚举
CSFileProtection |
枚举对 *的调用中的文件保护选项。 |
CSIndexErrorCode |
枚举与使用 Core Spotlight 和搜索相关的可能错误。 |
CSSearchQueryErrorCode |
枚举在使用 Start()运行 Core Spotlight 查询时可能发生的错误。 |
委托
CSSearchableIndexFetchHandler |
中使用的 FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler)完成处理程序。 |
注解
Spotlight 是 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");
}
});
通过聚焦搜索内容启动应用程序时,系统会调用 方法, ContinueUserActivity 并将 ActivityType 设置为 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