Skip to main content
Expo Apple Targets supports over 40 native Apple extension types. This page lists every supported target with its configuration details.

Quick reference

Widgets & Activities

widget, watch-widget

App Clips

clip

Watch Apps

watch, watch-widget

Share & Actions

share, action

Notifications

notification-content, notification-service

Siri & Intents

intent, intent-ui, app-intent

Safari

safari, content-blocker

Network

4 network extension types

Media & Files

photo-editing, file-provider, broadcast

System Services

spotlight, quicklook, keyboard, credentials

Communication

call-directory, message-filter

Education & Parental Controls

classkit, device-activity-monitor, shield

All target types

Widgets & Live Activities

TypeDisplay NameExtension PointFrameworksApp Groups
widgetWidgetcom.apple.widgetkit-extensionWidgetKit, SwiftUI, ActivityKit, AppIntents
watch-widgetWatch Widgetcom.apple.widgetkit-extension (watch)WidgetKit, SwiftUI
Use cases: Home screen widgets, Lock Screen widgets, Live Activities, Dynamic Island, Control Center controls, watch face complications
npx create-target widget
npx create-target watch-widget

App Clips

TypeDisplay NameProduct TypeApp Groups
clipApp Clipcom.apple.product-type.application.on-demand-install-capable
Use cases: Instant app experiences from QR codes, NFC tags, App Clip codes, and Safari Smart Banners
npx create-target clip

Watch Apps

TypeDisplay NameProduct TypeEmbedded Swift
watchWatchcom.apple.product-type.application
Use cases: Companion watchOS apps
npx create-target watch

Sharing & Actions

TypeDisplay NameExtension PointApp GroupsEmbedded Swift
shareShare Extensioncom.apple.share-services
actionActioncom.apple.services
Use cases: Share Sheet integration, headless actions on selected content
npx create-target share
npx create-target action

Notifications

TypeDisplay NameExtension PointFrameworks
notification-contentNotification Contentcom.apple.usernotifications.content-extensionUserNotifications, UserNotificationsUI
notification-serviceNotification Servicecom.apple.usernotifications.serviceUserNotifications
Use cases: Rich notification UI, media attachments, notification modification, decryption
npx create-target notification-content
npx create-target notification-service

Siri & Intents

TypeDisplay NameExtension PointProduct TypeFrameworksEmbedded Swift
intentSiri Intentcom.apple.intents-serviceapp-extensionIntents
intent-uiSiri Intent UIcom.apple.intents-ui-serviceapp-extensionIntentsUI
app-intentApp Intentcom.apple.appintents-extensionextensionkit-extensionAppIntents
Use cases: Siri Shortcuts, custom intents, App Shortcuts (iOS 16+)
npx create-target intent
npx create-target intent-ui
npx create-target app-intent

Safari

TypeDisplay NameExtension Point
safariSafari Extensioncom.apple.Safari.web-extension
content-blockerContent Blockercom.apple.Safari.content-blocker
Use cases: Web extensions, ad blockers, content filtering
npx create-target safari
npx create-target content-blocker

Network Extensions

Network extensions require the Network Extensions entitlement from Apple Developer Support.
TypeDisplay NameExtension PointFrameworksEmbedded Swift
network-packet-tunnelNetwork Extension: Packet Tunnel Providercom.apple.networkextension.packet-tunnelNetworkExtension
network-app-proxyNetwork Extension: App Proxycom.apple.networkextension.app-proxyNetworkExtension
network-dns-proxyNetwork Extension: DNS Proxycom.apple.networkextension.dns-proxyNetworkExtension
network-filter-dataNetwork Extension: Filter Datacom.apple.networkextension.filter-dataNetworkExtension
Use cases: VPN, content filtering, DNS resolution, parental controls
npx create-target network-packet-tunnel
npx create-target network-app-proxy
npx create-target network-dns-proxy
npx create-target network-filter-data

Media & Files

TypeDisplay NameExtension PointFrameworksApp GroupsEmbedded Swift
photo-editingPhoto Editingcom.apple.photo-editingPhotos, PhotosUI
file-providerFile Providercom.apple.fileprovider-nonuiUniformTypeIdentifiers
file-provider-uiFile Provider UIcom.apple.fileprovider-actionsuiFileProviderUI
broadcast-uploadBroadcast Uploadcom.apple.broadcast-services-uploadReplayKit
broadcast-setup-uiBroadcast Setup UIcom.apple.broadcast-services-setupuiReplayKit
Use cases: Photos app editing, Files app integration, screen recording, ReplayKit
npx create-target photo-editing
npx create-target file-provider
npx create-target broadcast-upload

System Services

TypeDisplay NameExtension PointFrameworksApp GroupsEmbedded Swift
spotlightSpotlightcom.apple.spotlight.import
spotlight-delegateCoreSpotlight Delegatecom.apple.spotlight.indexCoreSpotlight
quicklook-thumbnailQuicklook Thumbnailcom.apple.quicklook.thumbnailQuickLookThumbnailing
quicklook-previewQuick Look Previewcom.apple.quicklook.previewQuickLook
keyboardKeyboard Extensioncom.apple.keyboard-service
credentials-providerCredentials Providercom.apple.authentication-services-credential-provider-ui
account-authAccount Authcom.apple.authentication-services-account-authentication-modification-ui
authentication-servicesAuthentication Servicescom.apple.AppSSO.idp-extensionAuthenticationServices
Use cases: Search indexing, file previews, custom keyboards, password managers, SSO
npx create-target spotlight
npx create-target quicklook-thumbnail
npx create-target keyboard
npx create-target credentials-provider

Communication

TypeDisplay NameExtension PointFrameworks
call-directoryCall Directorycom.apple.callkit.call-directoryCallKit
message-filterMessage Filtercom.apple.identitylookup.message-filterIdentityLookup
unwanted-communicationUnwanted Communication Reportingcom.apple.identitylookup.classification-uiIdentityLookup, IdentityLookupUI
Use cases: Caller ID, call blocking, SMS filtering, spam reporting
npx create-target call-directory
npx create-target message-filter

Education & Parental Controls

TypeDisplay NameExtension PointFrameworks
classkit-contextClassKit Context Providercom.apple.classkit.context-providerClassKit
device-activity-monitorDevice Activity Monitorcom.apple.deviceactivity.monitor-extensionDeviceActivity
shield-actionShield Actioncom.apple.ManagedSettings.shield-action-serviceManagedSettings
shield-configShield Configurationcom.apple.ManagedSettingsUI.shield-configuration-serviceManagedSettings, ManagedSettingsUI
Use cases: Educational apps, Screen Time, app blocking, parental controls
npx create-target classkit-context
npx create-target device-activity-monitor
npx create-target shield-action

Other Extensions

TypeDisplay NameExtension PointFrameworksEmbedded Swift
bg-downloadBackground Downloadcom.apple.background-asset-downloader-extension
location-pushLocation Pushcom.apple.location.push.service
matterMattercom.apple.matter.support.extension.device-setup
virtual-conferenceVirtual Conference Providercom.apple.calendar.virtualconference
print-servicePrint Servicecom.apple.printing.discovery
smart-cardSmart Cardcom.apple.ctk-tokensCryptoTokenKit
Use cases: Background downloads, location services, smart home, virtual meetings, printing, cryptographic tokens
npx create-target matter
npx create-target location-push
npx create-target bg-download

Extension properties explained

Extension Point Identifier

The Apple NSExtensionPointIdentifier that defines the extension type. This is set automatically based on the target type.

Product Type

The Xcode product type that determines build settings. Most extensions use com.apple.product-type.app-extension, but some have special types:
  • clip: com.apple.product-type.application.on-demand-install-capable
  • watch: com.apple.product-type.application
  • app-intent: com.apple.product-type.extensionkit-extension

Frameworks

System frameworks automatically linked to the target. You can add additional frameworks in your expo-target.config.js:
module.exports = {
  type: "widget",
  frameworks: ["CoreLocation", "MapKit"],
};

App Groups (by default)

Extensions marked with ✓ automatically sync the com.apple.security.application-groups entitlement from your main app. This enables data sharing via NSUserDefaults.

Embedded Swift

Extensions marked with ✓ have ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES set to YES, which is required for certain extension types.

Not yet supported

The following extension types exist in Xcode but aren’t supported yet:
Extension Point IdentifierTemplate NamePlatform
com.apple.tv-top-shelfTV Top Shelf ExtensiontvOS
com.apple.FinderSyncFinder Sync ExtensionmacOS
com.apple.email.extensionMail ExtensionmacOS
Run bun scripts/scan-xcode-targets.ts --diff in the source repo to regenerate this list from your local Xcode installation.

Learn more

Create a target

Use the CLI to create any target type

Target configuration

Configure target settings

Entitlements

Understand extension entitlements

Target guides

Category-specific guides

Build docs developers (and LLMs) love