The first thing you'll probably notice about Vapor and SwiftPM projects in general is that we don't include an Xcode project. In fact, when SwiftPM generates packages, the
.xcodeproj file is gitignored by default.
This means we don't have to worry about pbxproj conflicts, and it's easy for different platforms to utilize their own editors.
To generate a new Xcode project for a project, use:
If you'd like to automatically open the Xcode project, use
vapor xcode -y
To generate a new Xcode project manually.
swift package generate-xcodeproj
Open the project and continue normally.
For many packages with underlying c-dependencies, users will need to pass linker flags during build AND project generation. Make sure to consult the guides associated with those dependencies. For example:
vapor xcode --mysql
swift package generate-xcodeproj -Xswiftc -I/usr/local/include/mysql -Xlinker -L/usr/local/lib