expo-target.config.js (or .json, .ts) file in each target directory defines how the Apple target is generated and configured. This page documents all available configuration properties.
Config Type
Properties
The type of extension to generate.Example:Supported types include:
widget, clip, share, watch, intent, action, notification-content, notification-service, safari, and many more.Name of the target. Will default to a sanitized version of the directory name.Example:This name is used for the Xcode target name and other internal identifiers.
Optional custom name for If not provided, the
CFBundleDisplayName. This is the user-facing name that appears on the device.Example:name property will be used.Bundle identifier for the target. Will default to a sanitized version of the root project + name.Example:Tip: If the specified bundle identifier is prefixed with a dot (
.), it will be appended to the main app’s bundle identifier:A local file path or URL to an image asset.Example:The icon will be automatically resized for all required sizes and added to the target’s Assets.xcassets.
A list of additional frameworks to add to the target.Example:Common frameworks are automatically added based on the target type. Use this to add additional frameworks your target needs.
Deployment iOS version for the target.Default:
"18.0"Example:Apple team ID to use for signing the target.Example:Defaults to whatever is used in the main App target.
Optional entitlements to add to the target.Example:See the Entitlements section for all available options.
Additional colors to generate in the Usage in Swift:See the Colors API for special color names like
Assets.xcassets. These will be available as UIColors in the native source.Example:$accent and $widgetBackground.Additional images to generate in the Usage in Swift:See the Images API for more details.
Assets.xcassets. These will be available as UIImages in the native source. The sources can be URLs or local file paths.Example:Should the release build export the JS bundle and embed it.Default: Intended for App Clips and Share Extensions where you may want to use React Native.
falseExample:Entitlements Type
TheEntitlements type supports all standard Apple entitlements. Here are some commonly used ones:
App groups for shared data between targets. Values should be prefixed with
group.Example:Enable HealthKit capabilities.Example:
Enable HomeKit capabilities.
Enable Siri integration.
Associated domains for universal links and app clips.Example:
iCloud container identifiers. Values should be prefixed with
iCloud.Example:Dynamic Configuration
You can export a function instead of an object to dynamically generate configuration based on the Expo config:Config object.