<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreSpotlight",
  "identifier" : "/documentation/CoreSpotlight/CSIndexExtensionRequestHandler",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Core Spotlight"
    ],
    "preciseIdentifier" : "c:objc(cs)CSIndexExtensionRequestHandler"
  },
  "title" : "CSIndexExtensionRequestHandler"
}
-->

# CSIndexExtensionRequestHandler

An interface that implements an index-maintenance app extension.

```
class CSIndexExtensionRequestHandler
```

## Overview

The `CSIndexExtensionRequestHandler` class provides the main
entry point for an index-maintenance app extension. If any issues
arise with your app’s indexes and your app isn’t running, the
system loads your app extension and looks for an implementation
of this class. It instantiates the class it finds and uses it to
perform any index-related maintenance.

Define a custom subclass of `CSIndexExtensionRequestHandler` in
your app extension and implement methods of the [`CSSearchableIndexDelegate`](/documentation/CoreSpotlight/CSSearchableIndexDelegate)
protocol in it. Use those methods to perform any required updates
to your app’s index files. For example, use the
[`searchableIndex(_:reindexAllSearchableItemsWithAcknowledgementHandler:)`](/documentation/CoreSpotlight/CSSearchableIndexDelegate/searchableIndex(_:reindexAllSearchableItemsWithAcknowledgementHandler:))
method to reindex all items in your app.

## Relationships

### Conforms To

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

[`CSSearchableIndexDelegate`](/documentation/CoreSpotlight/CSSearchableIndexDelegate)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSExtensionRequestHandling`](/documentation/Foundation/NSExtensionRequestHandling)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)