アプリには数百のアイテムがあります。CSSearchableItem を使用してすべてのアイテムにインデックスを付けます。ユーザーがアイテムで画面を開くたびに、CSSearchableItem と同じデータで NSUserActivity を作成します (CSSearchableItem と NSUserActivity の CSSearchableItemAttributeSet は同じで、同じタイトル、説明、画像が含まれています)。もちろん、NSUserActivity の CSSearchableItemAttributeSet には、CSSearchableItem uniqueIdentifier と同じ relatedUniqueIdentifier があります。NSUserActivity には publicIndexing フラグがあります。ユーザーがスポットライトで検索すると、CSSearchableItem の結果のみが表示されます。これは、データが同じであり、CSSearchableItem の方が優先度が高いことがわかるからです。
ユーザーが検索結果で CSSearchableItem のみを選択でき、そこに NSUserActivity が表示されない場合、パブリック インデックスは正しく機能しますか? スポットライト システムは、選択された CSSearchableItem にも publicIndexing フラグを持つ NSUserActivity があり、ユーザーが CSSearchableItem をタップすると、この情報がサーバーに送信されることを認識していますか?