Pässe selber machen

Pässe für die Apple Passbook-App (ab iOS 9 Wallet) kann man ganz leicht selber machen – auch ohne eigene App und großartige Server-Infrastruktur. Man braucht nur einen Developer Account, etwas JSON Know-how und Zeit zum Experimentieren.

Beispielpass Vorderseite (links), Rückseite (rechts)

Der Weg zum eigenen stand-alone Pass, d.h. ohne App oder zugehörigen Web-Service, gliedert sich in drei Schritte. Dieser Artikel beschreibt den ersten Schritt. Die nächsten beiden Schritte folgen in späteren Beiträgen:

  1. Zertifikate erstellen (s. unten)
  2. Pass bauen
  3. Pass verteilen

Informationen zum Thema Passbook gibt es von Apple auf dem Developer Portal:

Pass-Zertifikate erstellen

Damit Passbook den Pass akzeptiert muss es wissen von wem der Pass kommt und ob er gültig ist, d.h. er muss vom Herausgeber bzw. Entwickler signiert werden. Dazu braucht man ein von Apple ausgestelltes Zertifikat.

Pass Type ID anlegen

  1. Apple Developer Member Center öffnen
  2. Unter Certificates, Identifiers & Profiles den Abschnitt Pass Type IDs auswählen
  3. In der Liste oben den kleinen + Button zum Anlegen einer neuen ID drücken
  4. Beschreibung und die eigentliche ID wählen, also z.B. Meine Karte und pass.com.example.mypass. Wichtig ist, dass die ID mit pass. beginnen sollte. Ansonsten empfiehlt sich hier wieder die umgekehrte Domain-Notation wie bei Bundle IDs für Apps. Die Beschreibung darf keine Sonderzeichen (aber durchaus Leerzeichen) enthalten, wird aber nur für die Auflistung im Member Center verwendet.
  5. Mit Continue dann Register und Done den Vorgang abschließen.

Signing Request erstellen

Für das Zertifikat benötigt man zunächst einen CSR (Certificate Signing Request), den man sich bequem mit der Schlüsselbundverwaltung unter OS X bauen kann:

  1. Dienstprogramm Schlüsselbundverwaltung auf dem Mac öffnen
  2. Im Menü Schlüsselbundverwaltung > Zertifikatsassistent > Zertifikat einer Zertifizierungsinstanz anfordern ... auswählen
  3. Im daraufhin erscheinenden Assistenten die eigene E-Mail Adresse ins Feld E-Mail des Benutzers; sowie einen beliebigen Namen (z.B. "Schlüssel für meine Karte") ins Feld Allgemeiner Name, um den Schlüssel später in der Schlüsselbundverwaltung besser wieder finden zu können.
  4. Option Auf Festplatte sicher wählen, dann kann auch das Feld E-Mail der Zert.-Instanz leer bleiben
  5. Der CSR kann dann mit dem Fortfahren Button an passender Stelle auf dem Mac gespeichert werden.
  6. Fertig

Zertifikat erzeugen

Mit dem CSR kann jetzt im Member Center das eigentliche Zertfikat erzeugt werden:

  1. Im Abschnitt Pass Type IDs die oben angelegte Pass Type ID anwählen und Edit Button drücken
  2. Es wird die Liste der bisher erstellten Zertifikate für diese ID angezeigt. Darunter mit dem Create Certificate ... Button ein neues Zertfikat anfordern.
  3. Nun wird man aufgefordert, den oben erstellten und lokal auf dem Mac gespeicherten CSR hochzuladen und kann dann die Zertifikatserzeugung mit dem Generate Button starten.
  4. Das neue Zertifikat über den Download Button runterladen und anschließend per Doppelklick in den Schlüsselbund importieren.
  5. Hier findet sich das Zertifikat dann unter Meine Zertifikate mit dem Namen Pass Type ID: pass.com.example.mypass zusammen mit dem privaten Schlüssel namens Schlüssel für meine Karte.
  6. In der Schlüsselbundverwaltung kann man sich gleich auch noch versichern, dass man das Apple Worldwide Developer Relations Certification Authority Zertifikat im Bereich Zertifikate hat. Falls nicht, muss es noch aus dem Member Center geladen und ebenfalls in den Schlüsselbund importiert werden.

Signiertool bauen

Apple bietet ein Kommandozeilenprogramm an, mit dem man selbst gemachte Pässe signieren bzw. deren Signaturen checken kann. Es findet sich im Developer Portal in einem Packet mit dem Namen „Passbook Support Materials“.

  1. Datei passbook_materials.dmg herunterladen und öffnen.
  2. Ordner signpass aus dem DMG auf den Mac kopieren und die darin enthaltene Datei signpass.xcodeproj mit Xcode öffnen
  3. In Xcode kann das Programm dann über Product > Archive gebaut werden
  4. Im Xcode's Organizer Fenster dann das neue Archiv signpass auswählen und mit dem Export Button die Built Products (nicht das Archiv!) sichern.
  5. In den gesicherten Built Products findet sich das Programm unter ./usr/local/bin/signpass und kann von dort z.B. per Terminal ins System nach /usr/local/bin kopiert werden.

Alternativ kann man z.B. auch dieses Ruby Gem zum Signieren verwenden und kann sich signpass sparen.

Jetzt ist alles zum Signieren des Passes vorbereitet. Weiter geht's mit dem Bauen des Passes in Teil 2.

← Pässe selber machen (2/3) Seitenweise PDF →