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.

Warum Entwickler ein Auge auf die eigene Gesundheit werfen sollten

Ein sehr lesenswerter Artikel beim Developer Channel von Heise.

Heise Developer Link


••• Mit Klick auf die Abspielschaltfläche wird das Video im eingebetten IFrame gestartet. Das Vorschaubild kann schon auf diesem Blog vorhanden sein, so dass erst beim Abspielen eine Verbindung mit YouTube aufgebaut wird und Daten übertragen werden. •••

nevercodealone.de

Kurzanleitung: ELK auf dem Mac installieren

Mit Homebrew ELK installieren. Es werden Admin-Rechte benötigt, so dass ein Wechsel zu einem Mac-Konto mit Adminrechten sinnvoll ist. Für Homebrew diesen entweder installieren

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

oder updaten.

brew update

 

Zunächst prüfen, ob Java 8 installiert ist (der ELK Stack erfordert Java 8).

java -version

Ggfls. OpenJavaSDK 8 für ELK installieren:

brew tap AdoptOpenJDK/openjdk
brew cask info adoptopenjdk/openjdk
brew search /adoptopenjdk
brew search –casks jdk
brew cask install adoptopenjdk8
brew cask list
brew cask outdated
brew cask upgrade adoptopenjdk8

 

Elasticsearch installieren und starten:

brew install elasticsearch && brew info elasticsearch
brew services start elasticsearch

Elasticsearch rennt unter http://localhost:9200

 

Logstash installieren und starten:

brew install logstash
brew services start logstash

 

Kibana installieren und starten:

brew install kibana
brew services start kibana
brew services list

In der YML-Datei von Kibana können die Angaben zu Port 5601 und die elasticsearch.url angepasst werden. Liegt unter: /usr/local/etc/kibana/kibana.yml Kibanan läuft dann standardmäßig unter http://localhost:5601.

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.

Hacknext 2019 – The Movie


••• Mit Klick auf die Abspielschaltfläche wird das Video im eingebetten IFrame gestartet. Das Vorschaubild kann schon auf diesem Blog vorhanden sein, so dass erst beim Abspielen eine Verbindung mit YouTube aufgebaut wird und Daten übertragen werden. •••

Hacknext 2019 – The Movie