No Swift Package Manager for iOS

June 9, 2017

"Note that at this time the Package Manager has no support for iOS"

quote from:

https://github.com/apple/swift-package-manager


The SPM must be one of the most if not the most undervalued project Apple is working on right now. When will SPM be available for iOS and why is it not available now? Is this an ABI issue?

You right! 😐 I also don't understand why Apple does not allocate more resources on this project. Components management of an application is important in a project. Just look at github the number of people who use CocoaPods or Carthage. They are far from ideal. CocoaPods hacks into Xcode files to get it done. It often breaks and create some problems. In as it is written in Ruby it is necessary in addition to manage this environment. Carthage is less intrusive but it lacks a certain flexibility. And these 2 tools are not native to Swift. SwiftPM could replace them advantageously. Again would it support iOS, WatchOS and tvOS. The management of targets under Xcode is often obscure for many developers. Simpler component management based on SwiftPM would be welcome.

The new build system available for preview in the Xcode 9 beta is probably a necessary step toward adding support for iOS/watchOS/tvOS, and toward making the Swift Package Manager an integrated option within Xcode.


For more info you can search the web for swift-llbuild and check out the apple repository on github.

Wholeheartedly agree; I have always found 'modularising' all but the smallest of projects, to be beneficial, promoting good code organisation and reuse. This can be achieved, with some limitations, in Xcode using nested Projects and cross-Project dependencies therein, but Swift Package Manager really promises to 'do it properly'. I've been hotly awaiting it's arrival and disappointed by the apparent low priority!

It is possible to use Swift Package Manager for iOS projects.


I have an example here: https://github.com/j-channings/swift-package-manager-ios

No Swift Package Manager for iOS
 
 
Q