Multi-Target Swift Framework erstellen – Projekt Setup

Projekt Setup

Sobald du wiederverwendbaren Code für ein gutes Framework hast, ist es an der Zeit, ein Framework-Projekt einzurichten.

Ein Git-Repository erstellen

Erstelle in Terminal (oder Finder) einen Ordner, in dem sich dein Git-Repository befindet.

$ mkdir ~/dev/MyFramework.swift
$ cd ~/dev/MyFramework.swift

und initialisiere Git:

$ git init

Wenn du GitHub verwendest, kannst du das Repository auch direkt in GitHub erstellen und auf deinen Computer klonen. Der Vorteil dieses Ansatzes besteht darin, dass GitHub die Dateien README, .gitignore und LICENSE für dich generieren kann.

Konfigurieren der geteilten Sources und Tests Ordner

Vor dem Kreieren des Xcode Projekts, erstellen wir zwei Ordner in denen unser Source Code und die Unit Test enthalten werden. Diese Ordner werden mit den drei Frameworks (iOS, macOS und tvOS) geteilt.

$ mkdir Sources
$ mkdir Tests

An diesem Punkt, dein Repository sollte etwa so aussehen:

.git
.gitignore
LICENSE
README.md
Sources/
Tests/

Das Xcode Project erstellen

Öffne Xcode und drücke ⇧ + ⌘ + N um ein neues Projekt zu erstellen. Für den Anfang, wähle Cocoa Touch Framework unter iOS -> Frameworks & Library

Creating a Framework Project in Xcode
Ein Framework Projekt in Xcode erstellen

Gib deinem Framework einen Namen. Diese sollte dem Namen entsprechen, den du benutzen willst, wenn du dein Framework vertreibst. Es wird der Name des Swift Moduls sein, den andere Entwickler nutzen um das Framework in deren Applikationen zu importieren.

Das Default Target entfernen

Um unser Framework für verschiedene Plattformen verfügbar zu machen, erstellen wir ein Target für jede Plattform. Ich gebe den Targets Namen, die der jeweiligen Plattform entsprechen, wie so:

  • MyFrameworkiOS
  • MyFrameworkMacOS
  • MyFrameworkTVOS

Als wir das Projekt im vorherigen Schritt erstellten, haben wir bereits ein iOS Framework Typ als Projekt ausgewählt. Dies bedeutet, dass unser Projekt bereits ein Target für iOS enthält. Ich empfinde es allerdings einfacher das Target zu löschen als es und die dazugehörigen Dateien umzubenennen.

Wähle Framework und Unit Test Targets in der Projekt Target Liste aus und lösche diese.

Remove both framework and unit tests targets
Lösche Framework und Unit Tests Targets

 

Im Projekt Navigator, selektiere die Projekt Source Dateien samt Gruppe und lösche diese. Wenn du gefragt wirst, wähle „Move to trash“. Verfahre mit den Unit Test Dateien genauso.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: