bazelbuild / bazelbuild/rules_apple

ExtensionKit App Extensions not supported

Open
#1,943 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Starlark
Stars
593
Forks
334
Avg merge
16h 48m
Merged PRs (30d)
9

Description

App extensions like [Background Assets](https://developer.apple.com/documentation/backgroundassets) are of type `EXAppExtension`, instead of `NSExtension`, and have some different build settings. An `EXAppExtension` is of product type `com.apple.product-type.extensionkit-extension` and installed into the `Extensions` directory instead of `PlugIns`.

Trying to configure a Background Asset downloader extension with current Bazel rules will run into validation errors, since `PlugIns` expect an `NSExtension` dictionary in Info.plist, but the extension point `com.apple.background-asset-downloader-extension` disallows that property.

For now, we can work around this simply by moving the `.appex` bundle from `PlugIns` to `Extensions`.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the validation errors for a Background Assets downloader extension and inspect the Info.plist expectations for the .appex bundle. Compare the current PlugIns placement with the requested Extensions placement; done means EXAppExtension bundles use the correct product type, build settings, installation directory, and plist validation.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios
Domain
build-system, mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.