bazelbuild / bazelbuild/rules_apple
Use --preserve-metadata=identifier,entitlements option when signing embedded frameworks
- Dominant language
- Starlark
- Stars
- 593
- Forks
- 334
- Avg merge
- 16h 48m
- Merged PRs (30d)
- 9
Description
When a `.framework` is embedded in an app/extension, Xcode uses the `--preserve-metadata=identifier,entitlements` option to sign it. It does NOT use the host app(ex)'s entitlements or provisioning profile. We should do the same in the bundling rules.
Likewise, when signing the Swift dylibs, Xcode omits the `--preserve-metadata` option as well (and also uses no entitlements). It's unclear whether that option would make a difference for those.
Contributor guide
Research direction
Start by locating the bundling rules that sign embedded .frameworks and Swift dylibs, then compare their signing behavior with the Xcode behavior described here. Done means embedded frameworks preserve only their identifier and entitlements, while the Swift dylib behavior is investigated and addressed if needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- build-system, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100