feat: auto-generate main app entitlements#181
Merged
Conversation
Create a standard main-app entitlements file when Voltra needs to mutate entitlements in bare RN CLI projects.
Only infer main app entitlements when Voltra needs entitlement mutations and report newly generated files as created.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is this?
This PR lets the Voltra CLI handle bare React Native CLI iOS apps that do not already have a main app entitlements file. Previously, enabling Voltra options that require entitlements, such as App Groups, keychain sharing, or push notification support, could fail because the CLI could not discover
CODE_SIGN_ENTITLEMENTSon the app target.How does it work?
When Voltra needs to mutate main app entitlements and the Xcode project does not expose an existing entitlements path, the CLI now resolves a standard main-target path next to the discovered
Info.plist, creates the missing plist if needed, and writes the required entitlement values into it. The Xcode target mutation reuses the same resolution logic and only wires the fallbackCODE_SIGN_ENTITLEMENTSsetting when Voltra actually needs entitlements and the inferred file exists.Why is this useful?
Bare RN CLI projects can now adopt Voltra features that require iOS entitlements without first creating the entitlements file manually in Xcode. The behavior stays narrow: existing explicit entitlements paths still win, existing files are preserved and updated, and projects that do not need entitlement mutations are not forced into signing with an incidental entitlements file.