Documentation Index Fetch the complete documentation index at: https://mintlify.com/EvanBacon/expo-apple-targets/llms.txt
Use this file to discover all available pages before exploring further.
App extensions let users extend your app’s functionality within other apps and system contexts. This page covers common extension types beyond widgets, App Clips, and specialized categories.
Share extensions
Share extensions appear in the iOS Share Sheet, allowing users to share content to your app from any app.
Extension point
Property Value Type shareExtension Point com.apple.share-servicesFrameworks None (can use React Native with pods.rb) App Groups Enabled by default Embedded Swift Yes
Creating a share extension
Configure accepted content types in Info.plist:
< key > NSExtensionAttributes </ key >
< dict >
< key > NSExtensionActivationRule </ key >
< dict >
< key > NSExtensionActivationSupportsWebURLWithMaxCount </ key >
< integer > 1 </ integer >
< key > NSExtensionActivationSupportsImageWithMaxCount </ key >
< integer > 10 </ integer >
</ dict >
</ dict >
See the Share Extensions guide for implementation details.
Action extensions
Action extensions appear in the Share Sheet as headless actions that process content.
Extension point
Property Value Type actionExtension Point com.apple.servicesFrameworks None
Creating an action
Actions can run JavaScript on web pages:
// targets/action/assets/index.js
class Action {
run ({ extensionName , completionFunction }) {
// Process the page content
const data = { title: document . title };
completionFunction ( data );
}
finalize () {
// Runs after native code completes
}
}
window . ExtensionPreprocessingJS = new Action ();
Ensure NSExtensionJavaScriptPreprocessingFile: "index" in Info.plist.
Photo editing extensions
Photo editing extensions appear in the Photos app editing flow.
Extension point
Property Value Type photo-editingExtension Point com.apple.photo-editingFrameworks Photos, PhotosUI
npx create-target photo-editing
Implement PHContentEditingController protocol to provide editing UI.
Spotlight extensions
Spotlight extensions index your app’s content for system search.
Extension point
Property Value Type spotlightExtension Point com.apple.spotlight.importFrameworks None Embedded Swift Yes
npx create-target spotlight
Populate the search index from the extension:
import CoreSpotlight
let attributes = CSSearchableItemAttributeSet ( itemContentType : kUTTypeText as String )
attributes. title = "My Item"
attributes. contentDescription = "Description"
let item = CSSearchableItem (
uniqueIdentifier : "com.myapp.item.1" ,
domainIdentifier : "items" ,
attributeSet : attributes
)
CSSearchableIndex. default (). indexSearchableItems ([item])
CoreSpotlight delegate
The CoreSpotlight delegate extension handles search result taps.
Extension point
Property Value Type spotlight-delegateExtension Point com.apple.spotlight.indexFrameworks CoreSpotlight
npx create-target spotlight-delegate
Siri intent extensions
Intent extensions handle Siri requests and shortcuts.
Intent extension
Property Value Type intentExtension Point com.apple.intents-serviceFrameworks IntentsEmbedded Swift Yes
Intent UI extension
Property Value Type intent-uiExtension Point com.apple.intents-ui-serviceFrameworks IntentsUIEmbedded Swift Yes
npx create-target intent-ui
App Intent extension (iOS 16+)
Property Value Type app-intentExtension Point com.apple.appintents-extensionProduct Type com.apple.product-type.extensionkit-extensionFrameworks AppIntents
npx create-target app-intent
Modern App Intents use the AppIntents framework instead of the legacy Intents framework.
Quick Look extensions
Quick Look extensions provide custom previews and thumbnails.
Thumbnail extension
Property Value Type quicklook-thumbnailExtension Point com.apple.quicklook.thumbnailFrameworks QuickLookThumbnailingEmbedded Swift Yes
npx create-target quicklook-thumbnail
Preview extension
Property Value Type quicklook-previewExtension Point com.apple.quicklook.previewFrameworks QuickLookEmbedded Swift Yes
npx create-target quicklook-preview
File Provider extensions
File Provider extensions integrate with the Files app.
File Provider
Property Value Type file-providerExtension Point com.apple.fileprovider-nonuiFrameworks UniformTypeIdentifiersApp Groups Enabled by default
npx create-target file-provider
File Provider UI
Property Value Type file-provider-uiExtension Point com.apple.fileprovider-actionsuiFrameworks FileProviderUI
npx create-target file-provider-ui
Other extensions
Keyboard extension
Property Value Type keyboardExtension Point com.apple.keyboard-serviceApp Groups Enabled by default Embedded Swift Yes
npx create-target keyboard
Custom keyboards replace the system keyboard.
Credentials Provider
Property Value Type credentials-providerExtension Point com.apple.authentication-services-credential-provider-ui
npx create-target credentials-provider
Password manager integration with AutoFill.
Matter extension
Property Value Type matterExtension Point com.apple.matter.support.extension.device-setupEmbedded Swift Yes
Smart home device setup for Matter accessories.
Background download
Property Value Type bg-downloadExtension Point com.apple.background-asset-downloader-extensionApp Groups Enabled by default Embedded Swift Yes
npx create-target bg-download
Background asset downloads on managed devices.
Learn more
Share extensions Build share extensions
Complete target list All 40+ target types
Target config Configure target settings
Entitlements Configure extension entitlements