apple_resource_bundle

Apple resource bundle.

Description#

Processes resources into a named .bundle directory and propagates the bundle through Apple dependency edges to the final application. Localized resources, interface files, asset catalogs, and managed object models use the same resource processing pipeline as application and framework resources.

Attributes#

AttributeTypeRequiredDefaultDescription
platformstringyesApple platform such as ios, macos, tvos, watchos, or visionos
minimum_osstringno13.0Minimum supported operating system version
sdk_variantstringnosimulatorsimulator or device; ignored on macOS
bundle_namestringnotarget nameBundle name. The .bundle suffix is added when omitted
bundle_idstringnodev.once.<bundle_name>.resourcesBundle identifier written to generated metadata
resourceslist<string>no[]Files and directory roots processed into the bundle
prebuild_actionslist<string>no[]Ordered serialized scripts run before resource processing
prepackage_actionslist<string>no[]Ordered serialized resource generators run before packaging
postbuild_actionslist<string>no[]Ordered serialized scripts run after resource assembly; untracked scripts bypass caching
structured_resourceslist<string>no[]Directory roots whose own basename is preserved inside the bundle
xcode_developer_dirstringnoactive XcodeXcode developer directory used to resolve resource tools

Dependency Edges#

EdgeAcceptsDescription
depsapple_resourceResource bundles propagated alongside this bundle

Providers#

The target emits apple_resource. Its provider contains a deterministic list of bundle paths and files that downstream applications embed and sign.

Capabilities#

CapabilityOutput groups
builddefault, bundle

Outputs#

OutputLocation
Resource bundle.once/out/<target>/<bundle_name>.bundle
Property list.once/out/<target>/<bundle_name>.bundle/Info.plist

Example#

toml
[[target]]
name = "AppResources"
kind = "apple_resource_bundle"
[target.attrs]
platform = "ios"
resources = ["Resources/**"]
structured_resources = ["Resources/Fixtures"]