✎ Edit on GitHub

Xcode

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.

Generate Project

Vapor Toolbox

To generate a new Xcode project for a project, use:

vapor xcode

If you'd like to automatically open the Xcode project, use vapor xcode -y

Manual

To generate a new Xcode project manually.

swift package generate-xcodeproj

Open the project and continue normally.

Flags

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

or

swift package generate-xcodeproj -Xswiftc -I/usr/local/include/mysql -Xlinker -L/usr/local/lib