Swift Package Manager, w skrócie SPM jest narzędziem do zarządzania pakietami Swift stworzonym w celu zautomatyzowania procesu pobierania, kompilowania i linkowania buildów w języku Swift. Powstał w 2015 roku, a zintegrowany został z Xcode dopiero w 2019 r. 

W świecie Objective-C powstały niezależne od twórców języka narzędzia analogiczne do SPM: Cocoa Pods i Carthage, które w momencie, gdy Swift ujrzał światło dzienne,  przystosowały się też do niego. 

SPM jest odpowiedzią twórców języka SWIFT na potrzebę istnienia tego rodzaju wbudowanego uniwersalnego narzędzia.

Większość projektów w dzisiejszych czasach do wspomagania i przyspieszania budowy aplikacji wykorzystuje elementy, biblioteki “obcego pochodzenia”. Ta tendencja zdaje się nie mieć odwrotu, niemniej jednak w takich procesach występują problemy ze zgodnością i brakiem aktualizacji narzędzi odchodzących do lamusa.

Aby ułatwić wyszukiwanie ciekawych pakietów oraz zdobyć informacje o ich aktualności  Dave Verwer i Sven A. Schmidt stworzyli Swift Package Index. Jest to open-source’owy silnik zbudowany po stronie serwera w języku Swift z wykorzystaniem VAPOR’a.  

SPI wyszukuje takie dodatki, które są dobrze zakodowane i gotowe do użycia w aplikacji. Ogromną zaletą SPI jest to, że każda wyszukana biblioteka czy moduł zawiera szczegółowe informacje o ilości commitów, wersji, otwartych problemach i pull requestach. W końcu to, czy wybrana biblioteka jest aktualna i dobrze utrzymywana, jest sprawą niezwykle istotną. SPI pozwala też sprawdzić, które z ostatnich wydań jest stabilne.

Wszelkie informacje na ten temat dostępne są na stronie projektu i na githubie.