Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Xcodegen to generate Xcode project files #475

Open
uloco opened this issue Apr 22, 2022 · 0 comments
Open

Use Xcodegen to generate Xcode project files #475

uloco opened this issue Apr 22, 2022 · 0 comments

Comments

@uloco
Copy link

uloco commented Apr 22, 2022

Introduction

A tool called xcodegen could make upgrading between react native versions a lot easier concerning project files from xcode.

Details

Changes that are made in the project.pbxproj file are very hard to apply when upgrading between react native versions. The upgrade helper tool is a good starting point, but the diffs are not really easy to understand/apply.

There is a tool called xcodegen, which let's you configure your project via json/yaml and generate the project files afterwards. The react native team could use this project.yaml file to describe the project and it's changes and so the file diffs in between projects would be way easier to reason about and make upgrades a lot simpler. Users would just apply the changes to their own project.yaml and merge it with their own customizations. Then they would just create their project files with the xcodegen tool.

They are also working on a way to do this in the other direction, so generate project.yaml config from an existing xcode project, which would make it even easier to migrate to this approach.

Discussion points

  • Is there any plan on integrating this workflow?
  • What needs to be done here to make it work? What obstacles are here?
  • Is there a better way that I do not know about currently? How do you deal with project file changes that are done between RN updates or just from two developers (conflicts) right now?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant