I am using the new open source Swift Package Manager and am able to download the files. I want the manager to create a "development environment" (Through Xcode) based on the packages it retrieved.
Has anybody dealt with this?
I am using the new open source Swift Package Manager and am able to download the files. I want the manager to create a "development environment" (Through Xcode) based on the packages it retrieved.
Has anybody dealt with this?
Update: as mentioned in other answers, you can now generate Xcode project files with this command:
swift package generate-xcodeproj
The Swift Package Manger (SPM) is cross platform, It works on Mac and Linux. The Xcode is Mac OS only, so I don't think SPM will be hard integrate to work with Xcode.
SPM can do 2 things:
The SPM work only with Source code, folders and files. It doesn't know anything about Xcode.
Also it is mentioned that in the future Apple plans to add support for other languages not only Swift and Objc.
My answer: SPM will not ingrate with Xcode. But because it's open-source anyone can just make its own fork and add custom feature that would generate Xcode specific files.
Update (2021/05/23):
With Xcode having gained official support for Swift Packages the recommended way to create packages these days is from within Xcode via "Xcode > File > New > Swift Package".
Update (2020/11/20):
With PR 3062 merged generate-xcodeproj
will soon be marked as deprecated.
Original answer:
As of PR #174 on the swift-package-manager project, there exists an option for generating an Xcode project file in root directory of the package:
$ swift package generate-xcodeproj
Note: Earlier builds used:
$ swift build --generate-xcodeproj
It will officially be part of Swift's 3.0 release.
But it is already available with Xcode Swift DEVELOPMENT Snapshot 2016-03-24
or later!
All you need to do now, if you had Xcode 11 installed is just run this command and xcode-tools will automatically open the appropriate Package.swift
and resolve as an project for you to open in Xcode:
$ xed .
Pre 2020:
I wrote a small command line tool for that
it's called spawn
: https://github.com/vinhnx/spawn
Basically, it's just a small combination of repetitive commands when you want to try out a SPM package:
$ swift package update # update or resolve package dependencies
$ swift package generate-xcodeproj # generate a .xcodeproj to edit on Xcode
$ xed . # open generated .xcodeproj automatically