feat(ios): support swift package manager (SPM) module dependencies #14327
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.
This pull request introduces first-class support for Swift Package Manager (SPM) dependencies in Titanium iOS modules and applications. The main changes add a new
spm.jsonfile for module authors to declare Swift package dependencies, embed this metadata in module zips, and update the build system to inject required packages into the app's Xcode project. Additionally, documentation and templates are updated to guide developers on using this feature.Note: This PR currently targets 13_0_X, as master seem to be partially broken for me. I'll add more comments about that soon (cc @cb1kenobi), but it seems like the app.js /
Resources/*file handling is not working as expected. After it's addressed, I can migrate the changes to the new master structure. As this module is needed in production asap, targeting 13_0_X will make sure it integrates properly.Also, I think that the CLI / dependency changes should not have landed in master, as they are major breaking changes that should go into a
next branch. Alternatively, we could use the commit before these changes as 13_1_X and bump master to 14.0.0. Let me know your thoughts.