bazelbuild / bazelbuild/rules_apple
ExtensionKit App Extensions not supported
- 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
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