Hi all,
First forum post so please go easy if there's an obvious answer here!
I'm currently about a week into building a first Server Side Swift app and have split out a lot of Swift code from an iOS app into reusable modules for Client / Server usage (across macOS + Linux) and so far the experience has been 
However, now the code is split out and the server app is in active dev using Xcode one issue I've come across using the SPM is the following:
- For Linux testing I'm using docker-compose + docker secrets etc. passing in config using ENV variables.
- For macOS testing I'm using Xcode and passing in config using Edit Scheme -> ENV variables
Xcode works great until I need to add a new package dependency and have to run:
- swift package update
- swift package generate-xcodeproj
and lose all the Scheme ENV variables. Is there a way to easily update dependency related info in the Xcode project file without losing other settings (such as Scheme settings + ENV variables)? e.g. swift package update-xcodeproj instead of swift package generate-xcodeproj?
Thanks in advance,
Ben
4 Likes
jrose
(Jordan Rose)
2
Something I've done with the CMake-generated Xcode project for the Swift compiler itself is to make a separate workspace and put the generate project inside that. That way I can keep schemes in the workspace while not worrying about having to maybe regenerate the project from scratch sometimes. I think this is still a reasonable request for the package manager, though.
9 Likes
Unrelated: Wow, I never thought of this and will adopt it immediately.
Thanks for the quick response - sounds like the perfect workaround.
I've also raised an improvement suggestion SR-10132 for a new command "swift package update-xcodeproj".
Aciid
(Ankit Aggarwal)
5
I use the same approach as @jrose, works pretty well. Thanks for filing the JIRA!
That’s also useful to use packages in playgrounds ;)