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
| Type | Display Name | Extension Point | Frameworks | App Groups |
|---|---|---|---|---|
widget | Widget | com.apple.widgetkit-extension | WidgetKit, SwiftUI, ActivityKit, AppIntents | ✓ |
watch-widget | Watch Widget | com.apple.widgetkit-extension (watch) | WidgetKit, SwiftUI | ✓ |
App Clips
| Type | Display Name | Product Type | App Groups |
|---|---|---|---|
clip | App Clip | com.apple.product-type.application.on-demand-install-capable | ✓ |
Watch Apps
| Type | Display Name | Product Type | Embedded Swift |
|---|---|---|---|
watch | Watch | com.apple.product-type.application | ✓ |
Sharing & Actions
| Type | Display Name | Extension Point | App Groups | Embedded Swift |
|---|---|---|---|---|
share | Share Extension | com.apple.share-services | ✓ | ✓ |
action | Action | com.apple.services |
Notifications
| Type | Display Name | Extension Point | Frameworks |
|---|---|---|---|
notification-content | Notification Content | com.apple.usernotifications.content-extension | UserNotifications, UserNotificationsUI |
notification-service | Notification Service | com.apple.usernotifications.service | UserNotifications |
Siri & Intents
| Type | Display Name | Extension Point | Product Type | Frameworks | Embedded Swift |
|---|---|---|---|---|---|
intent | Siri Intent | com.apple.intents-service | app-extension | Intents | ✓ |
intent-ui | Siri Intent UI | com.apple.intents-ui-service | app-extension | IntentsUI | ✓ |
app-intent | App Intent | com.apple.appintents-extension | extensionkit-extension | AppIntents |
Safari
| Type | Display Name | Extension Point |
|---|---|---|
safari | Safari Extension | com.apple.Safari.web-extension |
content-blocker | Content Blocker | com.apple.Safari.content-blocker |
Network Extensions
| Type | Display Name | Extension Point | Frameworks | Embedded Swift |
|---|---|---|---|---|
network-packet-tunnel | Network Extension: Packet Tunnel Provider | com.apple.networkextension.packet-tunnel | NetworkExtension | ✓ |
network-app-proxy | Network Extension: App Proxy | com.apple.networkextension.app-proxy | NetworkExtension | ✓ |
network-dns-proxy | Network Extension: DNS Proxy | com.apple.networkextension.dns-proxy | NetworkExtension | ✓ |
network-filter-data | Network Extension: Filter Data | com.apple.networkextension.filter-data | NetworkExtension | ✓ |
Media & Files
| Type | Display Name | Extension Point | Frameworks | App Groups | Embedded Swift |
|---|---|---|---|---|---|
photo-editing | Photo Editing | com.apple.photo-editing | Photos, PhotosUI | ||
file-provider | File Provider | com.apple.fileprovider-nonui | UniformTypeIdentifiers | ✓ | |
file-provider-ui | File Provider UI | com.apple.fileprovider-actionsui | FileProviderUI | ||
broadcast-upload | Broadcast Upload | com.apple.broadcast-services-upload | ReplayKit | ||
broadcast-setup-ui | Broadcast Setup UI | com.apple.broadcast-services-setupui | ReplayKit |
System Services
| Type | Display Name | Extension Point | Frameworks | App Groups | Embedded Swift |
|---|---|---|---|---|---|
spotlight | Spotlight | com.apple.spotlight.import | ✓ | ||
spotlight-delegate | CoreSpotlight Delegate | com.apple.spotlight.index | CoreSpotlight | ||
quicklook-thumbnail | Quicklook Thumbnail | com.apple.quicklook.thumbnail | QuickLookThumbnailing | ✓ | |
quicklook-preview | Quick Look Preview | com.apple.quicklook.preview | QuickLook | ✓ | |
keyboard | Keyboard Extension | com.apple.keyboard-service | ✓ | ✓ | |
credentials-provider | Credentials Provider | com.apple.authentication-services-credential-provider-ui | |||
account-auth | Account Auth | com.apple.authentication-services-account-authentication-modification-ui | |||
authentication-services | Authentication Services | com.apple.AppSSO.idp-extension | AuthenticationServices |
Communication
| Type | Display Name | Extension Point | Frameworks |
|---|---|---|---|
call-directory | Call Directory | com.apple.callkit.call-directory | CallKit |
message-filter | Message Filter | com.apple.identitylookup.message-filter | IdentityLookup |
unwanted-communication | Unwanted Communication Reporting | com.apple.identitylookup.classification-ui | IdentityLookup, IdentityLookupUI |
Education & Parental Controls
| Type | Display Name | Extension Point | Frameworks |
|---|---|---|---|
classkit-context | ClassKit Context Provider | com.apple.classkit.context-provider | ClassKit |
device-activity-monitor | Device Activity Monitor | com.apple.deviceactivity.monitor-extension | DeviceActivity |
shield-action | Shield Action | com.apple.ManagedSettings.shield-action-service | ManagedSettings |
shield-config | Shield Configuration | com.apple.ManagedSettingsUI.shield-configuration-service | ManagedSettings, ManagedSettingsUI |
Other Extensions
| Type | Display Name | Extension Point | Frameworks | Embedded Swift |
|---|---|---|---|---|
bg-download | Background Download | com.apple.background-asset-downloader-extension | ✓ | |
location-push | Location Push | com.apple.location.push.service | ||
matter | Matter | com.apple.matter.support.extension.device-setup | ✓ | |
virtual-conference | Virtual Conference Provider | com.apple.calendar.virtualconference | ||
print-service | Print Service | com.apple.printing.discovery | ||
smart-card | Smart Card | com.apple.ctk-tokens | CryptoTokenKit |
Extension properties explained
Extension Point Identifier
The AppleNSExtensionPointIdentifier 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 usecom.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 yourexpo-target.config.js:
App Groups (by default)
Extensions marked with ✓ automatically sync thecom.apple.security.application-groups entitlement from your main app. This enables data sharing via NSUserDefaults.
Embedded Swift
Extensions marked with ✓ haveALWAYS_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 Identifier | Template Name | Platform |
|---|---|---|
com.apple.tv-top-shelf | TV Top Shelf Extension | tvOS |
com.apple.FinderSync | Finder Sync Extension | macOS |
com.apple.email.extension | Mail Extension | macOS |
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