CoreSpotlight 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
允許應用程式將資料新增至系統搜尋索引。
類別
CSCustomAttributeKey |
應用程式開發人員可針對可在使用者搜尋結果中顯示的可編制索引項目目,與中繼資料產生關聯的索引鍵。 |
CSIndexErrorCodeExtensions |
CoreSpotlight.CSIndexErrorCode 列舉的擴充方法。 |
CSIndexExtensionRequestHandler |
處理常式,用於在裝置上的應用程式和索引之間進行通訊。 應用程式不需要執行,即可進行此通訊。 |
CSLocalizedString |
表示類似字串的物件,這個物件會傳回特定地區設定版本的字串。 |
CSMailboxKey |
代表識別常用信箱的金鑰。 |
CSPerson |
儲存在 中的 CSSearchableItemAttributeSet 作者或收件者。 |
CSSearchableIndex |
Spotlight 所使用的搜尋索引。 |
CSSearchableIndex_CSOptionalBatchingExtension | |
CSSearchableIndexDelegate |
委派物件,提供重新編制索引時呼叫的成員。 |
CSSearchableIndexDelegate_Extensions |
介面的 ICSSearchableIndexDelegate 擴充方法,以支援通訊 CSSearchableIndexDelegate 協定中的所有方法。 |
CSSearchableItem |
中唯一 CSSearchableIndex 可識別且可搜尋的物件。 |
CSSearchableItemAttributeSet |
保留要編制搜尋索引的實際內容。 |
CSSearchQuery |
搜尋開發人員先前使用核心焦點 API 編制索引的資料。 |
CSSearchQueryErrorCodeExtensions |
CoreSpotlight.CSSearchQueryErrorCode 列舉的擴充方法。 |
介面
ICSSearchableIndexDelegate |
如果通訊協定 CSSearchableIndexDelegate 有任何) ,則表示必要方法的介面 (。 |
列舉
CSFileProtection |
列舉 CoreSpotlight.CSSearchableIndex.FromName*中的檔案保護選項。 |
CSIndexErrorCode |
列舉與使用核心焦點和搜尋相關聯的可能錯誤。 |
CSSearchQueryErrorCode |
列舉使用 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");
}
});
透過焦點搜尋內容啟動應用程式時,系統會呼叫 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