共用方式為


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

搜尋開發人員先前使用核心焦點 API 編制索引的資料。

CSSearchQueryErrorCodeExtensions

CoreSpotlight.CSSearchQueryErrorCode 列舉的擴充方法。

介面

ICSSearchableIndexDelegate

如果通訊協定 CSSearchableIndexDelegate 有任何) ,則表示必要方法的介面 (。

列舉

CSFileProtection

列舉 CoreSpotlight.CSSearchableIndex.FromName*中的檔案保護選項。

CSIndexErrorCode

列舉與使用核心焦點和搜尋相關聯的可能錯誤。

CSSearchQueryErrorCode

列舉使用 Start() 執行核心焦點查詢時可能發生的錯誤。

委派

CSSearchableIndexFetchHandler

中使用的 FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler) 完成處理常式。

備註

焦點是 iOS 和 OS X 上的系統搜尋技術。CoreSpotlight 可讓開發人員將資料新增至搜尋索引。 例如,有關定期資料表的應用程式可以編制各種元素的索引,並在搜尋之後顯示相關頁面。

將資料新增至 Spotlight 是藉由將 物件新增 CSSearchableItemDefaultSearchableIndex 來完成:

//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