Ein wenig Statistik

Da hatte ja vor kurzem meine kleine XING-Gruppe Xcode ihr zehnjähriges Bestehen. Genau genommen am 03.11.2010 ist meine Gruppe für die Sparten-IDE gegründet worden, mit der man diese außergewöhnlichen Apps machen kann. Es gibt jetzt immerhin schon 1826 Mitglieder. Auch nach wie vor gilt:

Nur Xcode ist nach wie vor DIE relevante IDE auf dem Mac für den Apple-Kosmos geblieben!

In diesem Sinne: Happy Xcoding!

😉

Gewonnen, gewonnen ;-)

Nachdem ich ein paar große CDN- und Cloud-Anbieter abgeklappert hatte, dann diese Mail, weil ich mich um die 300 USD bewarb. Sehr schick, da habe ich dann etwas zu tun für lange Winterabende.

Die anderen Anbieter waren:
– Akamai, für mich als Privatperson völlig unerschwinglich.
– CloudFlare, hatte dort das CDN eingerichtet, doch spielt mein Webkrauter IONOS nicht mit Subdomains mit CloudFlare, so dass es fürs Blog nix wurde.

WWDC Online ab dem 22.06.2020

Die World Wide Developer Conference von Apple findet ab dem 22.06.2020 online statt. In Zeiten von Corona-Pandemie sicherlich ein richtiges Zeichen von Apple. Aber halt, alle App-Entwickler werden über die WWDC App oder Site kostenlos teilnehmen können – alle! Nur zu beachten ist eventuell die Zeitdifferenz von MESZ zu Western Time in Cupertino. Normalerweise buhlen zig tausend Entwickler um die wenigen tausend Tickets á 1600 US-$, die für gewöhnlich im Losverfahren vergeben werden.

Das ist ein wirklich gutes Zeichen und Geste von Apple, all den Entwicklern die Chance der Teilnahme zu geben, denn von Apple auf der WWDC lernen heißt von den allerbesten lernen – etwas , was bislang nur wenigen vergönnt war.

Mehr zu COVID-19 Apps

Durch Klaus Rodewig bin ich auf das Thema mit den COVID-19 Apps aufmerksam geworden. Der Beitrag zu Bruce Schneier habe ich auch durch ihn. Klaus ist ein cooler ITler und ein ausgewiesener Kenner der Security Szene. Leider werden wir uns dieses Jahr nicht zur macoun in FRA treffen, da diese Corona-bedingt ausfällt – sehr, sehr schade.

Der folgende Beitrag der Site mezdanak.de zeigt leider sehr deutlich, dass die Spötter wohl recht behalten. Die Corona Apps sind security mäßig überaus schlecht – zumindest, was sich bisher so zeigte. Wo soll da Vertrauen des Einzelenen entstehen für eine App, die mehr schlecht als recht zusammengeschuster wurde?

Universal Links

Was sind Universal Links eigentlich? Das sind diese Angaben auf Webseiten, um die – allerdings installierte – App dieser Seite anstelle der Webvariante auszuführen.

Wodurch weiß die Webseite, dass es eine App gibt, die mit dieser Webseite assoziiert ist? Des Rätsels Lösung ist die AASA – die Apple App Site Association, eine JSON-Datei, die alles beinhaltet.

Dabei gibt der erste rote Kasten die Apple Team ID an (zu finden unter “Certificates, Identifiers & Profiles” im Developer-Bereich bei Apple). Der zweite Wert ist die Bundle ID, die entweder per Xcode (erkennbar am XC bei der App ID) oder im Developer Portal erstellt wird.

Wichtig ist, dass bei der App ID das Entitlement “Associated Domains” ausgewählt ist. In Xcode wird dann bei den Einstellungen die Webseite angegeben, auf der sich die AASA-Datei (die Apple-JSON-Datei von oben) befindet. Die AASA kann entweder im WWW-Root liegen oder aber in einem versteckten Directory “.well-known”. Ich habe sie ins Root gelegt. Es gibt verschiedene Aussagen, die besagen, dass das mit dem Hidden-Directory entweder geht oder nicht, je nach dem wo man im Web schaut.

Zu der Associated Domain muss nun noch das Entitlement in Xcode angeben werden. Ich habe den Hinweis gelesen, wenn der Build gemacht wurde im Projektverzeichnis zu schauen, ob wirklich die “Projektname”.entitlement-Datei im Projekt mitenthalten ist. Ich selber hatte hiermit keine Probleme.

Der URL-Präfix bei der Associated Domain und dem Entitlement muss (für diesen Fall) zwingend “applinks:” heißen.

Wenn das Projekt angelegt wird, ist ja – wie immer – die Bundle ID zu wählen. Diese muss ja zwingend mit der App ID korrelieren (wenn Xcode die Arbeit macht, kein Problem). Auch das Provisioning Profile muss natürlich die App ID beinhalten.

Was machte das ganze so schwierig und nervig? Die Anleitungen, die man im Netz bei Apple oder woanders findet, sind recht eindeutig. Doch es hat Stunden gedauert, bis ich schlußendlich den Universal Link hatte.

Folgend Dinge haben (mir) geholfen:

1. Eine .htaccess-Datei, die https erzwingt (sonst geht das lt. Apple nicht mit den Universal Links).
2. Das Erzwingen, dass die AASA-Datei an Apple mit dem richtigen MIME-Type JSON ausgeliefert wird.
3. Die AASA sollte man wie folgt erstellen: Touchen im Terminal, danach wurde sie per Terminal-Befehl in Visual Studio Code geöffnet und dann der der Inhalt eingepasted und gesichert. Ich habe sie auch getouched, dann aber mit Xcode bzw. TextWrangler erstellt. Ich habe sie dann mit Cyberduck übertragen und auf dem Webspace in den korrekten Namen umbenannt.
4. Das aber wohl alles entscheidende war die Tatsache, dass ich die Webseite nach unten gezogen habe. Und Wunder: Der Universal Link kam zu Tage.

Er deutete sich mit zart durschimmerndem Magenta links oben (rote Quadrat) als App Icon leicht an. Doch es hat sehr lange gedauert, bis ich das mit dem Runterziehen begriffen habe.

Was ich noch rausfand, dass ein schlankes

<p align=”CENTER”><b><a href=”https://ikisser.de/UniLnkTst/index.html”><img src=”./images/ULT-app-icon.jpg”></b></p>

auf de Startseite den Universal Link nicht auf der Unterseite “UniLnkTst” anzeigt, nein es wird sofort die App gestartet.