Skip to content

Rejestr

Wraz ze wzrostem liczby zależności rośnie czas ich rozwiązywania. Podczas gdy inne menedżery pakietów, takie jak CocoaPods lub npm są scentralizowane, Swift Package Manager nie jest. Z tego powodu SwiftPM musi rozwiązywać zależności poprzez głębokie klonowanie każdego repozytorium, co może być czasochłonne i zajmuje więcej pamięci niż podejście scentralizowane. Aby temu zaradzić, Tuist zapewnia implementację Rejestru pakietów, dzięki czemu można pobrać tylko te zatwierdzenia, których faktycznie potrzebujesz. Pakiety w rejestrze są oparte na Swift Package Index. - jeśli można tam znaleźć pakiet, jest on również dostępny w rejestrze Tuist. Ponadto pakiety są dystrybuowane na całym świecie przy użyciu pamięci masowej typu edge storage w celu zminimalizowania opóźnień podczas ich rozwiązywania.

Użycie#

Aby skonfigurować rejestr, uruchom następujące polecenie w katalogu projektu:

bash
tuist registry setup

To polecenie generuje plik konfiguracyjny rejestru, który włącza rejestr dla projektu. Upewnij się, że plik ten został zatwierdzony, aby Twój zespół również mógł korzystać z rejestru.

Uwierzytelnianie (opcjonalne)#

Uwierzytelnianie jest opcjonalne. Bez uwierzytelniania można korzystać z rejestru z limitem szybkości 1000 żądań na minutę na adres IP. Aby uzyskać wyższy limit szybkości, wynoszący 20 000 żądań na minutę, można uwierzytelnić się, uruchamiając:

bash
tuist registry login

:: info

Uwierzytelnianie wymaga konta Tuist i projektu.

:::

Rozwiązywanie zależności#

Aby rozwiązać zależności z rejestru zamiast z kontroli źródła, kontynuuj czytanie w oparciu o konfigurację projektu:

Aby skonfigurować rejestr na CI, postępuj zgodnie z tym przewodnikiem: Ciągła integracja.

Identyfikatory rejestru pakietów#

W przypadku korzystania z identyfikatorów rejestru pakietów w pliku Package.swift lub Project.swift należy przekonwertować adres URL pakietu na konwencję rejestru. Identyfikator rejestru ma zawsze postać {organization}.{repository}. Na przykład, aby użyć rejestru dla pakietu https://github.com/pointfreeco/swift-composable-architecture, identyfikatorem rejestru pakietu będzie pointfreeco.swift-composable-architecture.

:: info

Identyfikator nie może zawierać więcej niż jedną kropkę. Jeśli nazwa repozytorium zawiera kropkę, jest ona zastępowana podkreśleniem. Na przykład pakiet https://github.com/groue/GRDB.swift miałby identyfikator rejestru groue.GRDB_swift.

:::