Programmierung


Fahrtkosten Rechner mit Vue.js

Nachdem ich immer wieder auf Artikel über Vue.js gestoßen bin, habe ich mir heute das JavaScript Framework mal ein bisschen angesehen. Nicht sehr in die Tiefe, aber damit man mal ein bisschen das Grundkonzept versteht. Mit React habe ich schon ein paar kleinere Webseiten gebastelt und Vue.js ist auch ähnlich. Ich finde man lernt immer am Besten, wenn man konkret irgendetwas programmiert und nicht nur Tutorials durchlest. Also habe ich einen kleinen Fahrtkosten Rechner gemacht.

iOS 11 iPhone X UINavigationbar background image too small

I had a problem in one of my apps, that the background image I set, was too small for the new iPhone X.
So I tried a few things, but nothing worked. For example you could add a taller @3x background image, but then it would be clipped on an iPhone 8 Plus for example.

Finally I found a working solution for swift 3.2. (It should also work in swift 4)

Code:

On the left side is a iPhone 8 Plus simulator and on the right side is the iPhone X simulator.

Xcode 8 Problem beim Code Signing

Nachdem ich irgendwie immer wieder den selben Fehler habe und immer viel zu lange brauch bis ich wieder die Lösung finde, schreib ich es einfach mal hier auf. Vielleicht findet es ja auch der ein oder andere von Google. Das Problem ist, dass es beim Code Signing einen Fehler gibt. Die Fehlermeldung ist „Command /usr/bin/codesign failed with exit code 1“. Man kann Zertifikate neu ausstellen und andere löschen, aber irgendwie hilft nichts.

Die Lösung habe ich dann hier gefunden. Einfach folgende Befehle im Terminal eingeben und dann sollte das Projekt wieder erstellt werden können.

Software Projekte erfolgreich abschließen

Ich bin gerade wieder dabei ein kleines Software Projekt fertig zu machen und wie so oft, ist es doch um einiges mehr Arbeit als man eigentlich einplant. Die Grund Funktionalität hat man schnell mal, aber dann kommen immer neue Ideen für weitere nützliche Sachen und auf einmal hat man ein sehr komplexes System und die ersten Sachen die man programmiert hat, muss man jetzt auch wieder ändern weil sich ja alles rundherum geändert hat.

Facebook Konsum zurückschalten

Fast jeder hat es und benutzt es täglich, zumindest in einem gewissen alter zwischen 16 und 30 Jahren. Facebook. Gerade mit den Smartphones ist es groß geworden. Wenn man unterwegs ist im Bus oder der U-Bahn und man hat etwas Zeit zum Totschlagen. Kurz die Facebook App aufgemacht und schon kann man sich mehr oder eher weniger sinnvolle Sachen durchlesen. Je nachdem was seine Freunde so liken und teilen und welche Seiten man selber gelikt, bekommt man passende Bilder, Texte und Videos vorgeschlagen. Ich hab es auch immer gerne benutzt, aber wenn man sich mal so überlegt wieviel Zeit man damit verbringt und was die Inhalte großen teils sind, merkt man schnell das man dadurch nicht wirklich schlauer wird. Natürlich muss man das nicht unbedingt, weil es ja nur ein Zeitvertreib ist, aber ich konnte mit dem ganzen Trash Fernsehn von RTL und ähnlichen Sendern auch nie was anfangen.

EXE für Microsoft Windows signieren

Nach einer gefühlten Ewigkeit habe ich wiedermal eine kleine Applikation für Windows geschrieben. Das Programmieren in C# ging eigentlich ganz gut und auch WPF ist eigentlich ziemlich logisch aufgebaut und es gibt jetzt keine riesigen Unterschiede zu Java oder ähnlichen Sprachen. Was auch damals schon ganz gut war und mir auch heute noch ganz gut gefällt ist Visual Studio. Aber jetzt zum eigentlichen Thema. Wenn man die erstellte EXE Datei anschließend auf seine Webseite stellen möchte und Leuten zum Download anbietet funktioniert das auch wie erwartet.

Aber vor dem eigentlichen Start gibt es dann eine Warnung von Windows. Hier zum Beispiel von Windows 10.

Einfaches Tower Defense in Swift mit SpriteKit

Ich hatte wieder ein wenig Zeit zum experimentieren und hab mit einem einfachen Tower Defense Spiel für iOS angefangen. Eigentlich wollte ich eine Multiplayer Version machen, aber es wird sich wahrscheinlich nicht ausgehen, weil so ein Spiel einfach sehr viel Aufwand bedeutet. Vor allem eine vernünftige Echtzeit Kommunikation, welche für einen Multiplayer benötigt wird, braucht viel Zeit.

Nach dem ich aber schon ein bisschen was erstellt habe, gibts den Code auf github. Aktuell wird alle drei Sekunden eine Einheit erstellt, die einen Pfad folgt und wenn man irgendwo hindrückt, wird an dieser stelle ein Turm erstellt. Wenn dann eine Einheit in der Reichweite des Turms ist, wird diese angegriffen. Hier noch ein kurzes Gif wie es aussieht, wenn man das Projekt im iPhone Simulator ausführt.

Podcast-Empfehlung für iOS Entwickler

Wer sich mit iOS Entwicklung beschäftigt und auch gerne Podcasts hört, der hat eigentlich eine große Auswahl an Podcasts. Ich habe schon viele gehört, aber wirklich dauerhaft jede Folge habe ich bei keinem gehört. Jeder der irgendetwas mit iOS Apps zu tun hat, wird irgendwann einmal etwas über Marco Arment gelesen haben. Seine derzeitige iOS App ist Overcast, ein Podcastplayer mit ein paar interessanten Features.

Neben dem ATP Podcast hat Marco jetzt einen Podcast speziell für die iOS Entwicklung gestartet. Jede Folge mit David Smith ist maximal 30 Minuten lang und die ersten beiden Folgen sind schon genau nach meinem Geschmack. Also wer gerne ein paar interessante und vor allem aktuelle Sachen zur iOS Programmierung hören möchte, der sollte auf jeden Fall den Podcast Under the Radar ausprobieren.

MyLatency im Mac App Store

Es ist wieder eine neue kleine App von mir im Mac App Store verfügbar. Es handelt sich dabei um MyLatency. Wie der Name schon sagt, soll sie dem User Infos zur aktuellen Latenz der Internetverbindung geben. Im Prinzip wird, in einem vom User einstellbaren Interval, ein Ping auf eine Domain oder IP durchgeführt und die Latenz anschließend in der Menüleiste angezeigt.

Vor allem wenn man eine langsamere Internetverbindung hat, kann man so schnell feststellen ob die gerade aufgerufene Seite einfach down ist oder die eigene Internetverbindung derzeit überfordert ist. Beispielsweise durch Downloads im Hintergrund oder von einem anderen Gerät. Auch wenn man ein iPhone als Hotspot verwendet, kann die Information zur Latenz nützlich sein.

Einfache to-do list app in Swift

Es gibt zwar schon sehr viele to-do list Apps im App Store, aber ich wollte einfach mal eine ganz einfache in Swift erstellen. In der Hauptansicht sieht man einfach die ganzen Einträge nach Datum sortiert aufgelistet. Wenn man etwas erledigt hat löscht man den Eintrag ganz einfach. Zum Speichern wird Core Data verwendet, man kann also auch ziemlich einfach einen Sync mit iCloud hinzufügen. Beim Hinzufügen gibt man einfach den Titel an und wählt anschließend ein Datum mit dem Datepicker.