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.

MyLatency im Mac Appstore

MyLatency Screenshot 1

MyLatency Screenshot 2

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.

Nachdem AutoLayout eingesetzt wurde funktioniert die App auf sämtlichen iPhones so wie auch auf dem iPad. Den Code für die App kannst du bei Github finden. Mögliche sinnvolle Erweiterungen währen Notifications, das Editieren und eventuell ein besseres Interface als einfach nur das standard Löschen der UITableView.

Screenshot list 1334
 Screenshot add 1334

Keine App Store Reviews für iOS Beta Versionen

Manchmal hört Apple nach langer Zeit auf die Entwickler, wie zum Beispiel jetzt bei den App Store Reviews. Wenn man eine Beta Version von iOS installiert hat, kann man keine Apps mehr im App Store bewerten. Derzeit bei iOS 9 hatte ich noch keine Probleme, aber vor allem bei iOS 8 habe ich einige negative Reviews bekommen, welche eindeutig auf die Beta Version zurückzuführen waren.

Vor allem die ersten paar Versionen der Betas sind meistens so instabil, dass sogar viele Grundfunktionen von iOS nicht richtig funktionieren. Aber wer auf seinem „Hauptgerät“ eine Beta Version installiert ist sowieso selbst schuld, immerhin müssen jetzt nicht auch noch die Entwickler mitleiden. Vielleicht schafft es Apple auch einmal, dass man auf Reviews antworten oder zumindest nur dem Reviewer anschreiben kann.

via MacRumors

Touch ID in Swift Tutorial

Hier ist ein kleines Demo Projekt in Swift, welches Touch ID verwendet. Den Code kannst du auf Github finden, nachdem das Anzeigen von Code in WordPress nur sehr schlecht funktioniert.

Hier mal grob die Reihenfolge in der man Touch ID in seine App einfügen kann

  1. LocalAuthentication.framework hinzufügen
  2. Framework in der entsprechenden Klasse importieren
  3. Touch ID abfragen und die verschiedenen Möglichkeiten überprüfen
  4. Password Input falls Touch ID nicht verfügbar ist oder fehlschlägt

Vor allem sollte man noch beachten, dass man in dem reply Block von dem LAContext (also wenn die Authentifizierung funktioniert oder fehlgeschlagen hat) alle Änderungen an der UI in dem main Thread machen muss. Ansonsten hat man eine Wartezeit von mehreren Sekunden, was man dem User natürlich nicht zumuten kann. Dafür kann man die Methode dispatch_async verwenden.

Außerdem sollte man eine Passwort Eingabe als Backup einbauen, allerdings ist dies nicht der Passcode vom iPhone sondern ein eigenes Passwort, dass man in der App festlegt. Wenn der User also ein Passwort festlegt und dieses dann verliert sollte er die Möglichkeit haben, dieses wieder zurückzusetzen. Vor allem bei älteren Apps sollte man beachten, dass es noch viele iPhones gibt die kein Touch ID unterstützen.

imageimage

Uptime der eigene Website kontrollieren

Jeder Webseitenbetreiber wird sich früher oder später Gedanken über die Erreichbarkeit seiner Webseite machen müssen. Je nachdem wie groß und (finanziell) wichtig die eigene Website ist, umso wichtiger ist es natürlich auch dass sie erreichbar ist. Am schlimmsten ist natürlich ein Ausfall der nicht bemerkt wird. Folgen sind verägerte User und wenn man viele Besucher von Google bekommt, kann man dort bei den Rankings weit zurück fallen.

Nachdem wohl niemand gerne alle paar Minuten die eigene Seite kontrollieren möchte, bietet es sich an dies automatisch von einem anderen Server machen zu lassen. Wer allerdings keinen zweiten Server hat, der kann auch einen der vielen Webservices verwenden. Ich verwende zum Beispiel UptimeRobot. Der Service ist kostenlos und man kann bis zu 50 Seiten alle 5 Minuten auf Erreichbarkeit überprüfen lassen. Wenn UptimeRobot einen Fehler beim Laden findet, wird man automatisch benachrichtigt. Dafür gibt es viele Möglichkeiten wie zum Beispiel E-Mail, SMS oder eine Push Benachrichtigung auf das Handy.

Wenn die Seite wieder online ist, bekommt man wieder eine Benachrichtigung. Das ist nützlich wenn der Server nur kurz offline war. Generell würde ich jedem Webmaster raten, so einen Service einzusetzen, denn die Einrichtung ist in weniger als 5 Minuten erledigt. Im Ernstfall kann es aber viele Stunden Downtime der Seite verhindern. Außerdem bekommt man auch eine Statistik wie lange es gedauert hat, bis der Server geantwortet hat.

App Daten einfach mit Touch ID schützen

Ich bekam von vielen Usern meiner App Schulden, immer wieder die Anfrage, dass sie gerne einen Passwortschutz für die App haben möchten. Je nachdem wie viele wichtige Daten man in einer App speichert, ist ein Passwortschutz natürlich auf jeden Fall nützlich. Viele bedenken aber nicht, dass es nicht so einfach möglich ist eine Passwortabfrage anzubieten.

Was ist beispielsweise wenn der User sein Passwort vergisst? Kann er es wiederherstellen? Jedoch muss man dann auch sicherstellen, dass nicht jeder das Passwort wiederherstellen kann. Also wäre eine E-Mail wahrscheinlich die beste Möglichkeit, aber wenn jemand anderer sein Handy hat, hat er meistens auch zugriff auf die E-Mails.

Mit Touch ID lässt sich das Problem, aber ganz einfach lösen. Natürlich muss der User ein entsprechendes Gerät und aktiviertes Touch ID haben. Wenn die App geöffnet wird, muss er sich per Touch ID anmelden, ansonsten sieht er keine gespeicherten Daten und kann natürlich auch keine Einstellungen ändern. Insgesamt benötigt man nur zirka 15 Zeilen Code und schon hat man eine sichere Möglichkeit die App vor Unbefugten zu schützen. Wie gesagt ist Touch ID jetzt in der neuesten Version von Schulden integriert.

Verträge einfach online kündigen

Wieso ist es eigentlich so einfach einen Vertrag abzuschließen, aber so schwer ihn anschließend wieder zu kündigen? Die Firmen sagen es seien rechtliche oder sicherheitstechnische Gründe, die Konsumenten glauben eher, dass man sich so vor einigen Kündigungen drücken möchte. Und ich muss erfahrungsgemäß auch sagen, es funktioniert leider. Man schreibt eine E-Mail das man kündigen möchte, auch gerne mit eingescanntem Kündigungsschreiben inklusive Unterschrift, aber man bekommt dann eine Absage, man müsse es schriftlich einreichen. Wenn man diese Antwort bekommt, sollte man wahrscheinlich auch den Brief eingeschrieben verschicken etc. Dann denkt man sich, dass mach ich nächste Woche. Natürlich macht man es wieder nicht und bleibt weiter im Vertrag.

Ich habe schlussendlich dann immer meinen eingescannten Vertrag mit irgendwelchen Online Fax Diensten verschickt, aber wirklich schön und einfach war das auch nicht. Deshalb habe ich mich nach Alternativen umgesehen und in Österreich gibt es eine wirklich brauchbare. Online-Kuendigen.at macht was es verspricht, man kann einfach die Verträge online kündigen. Man muss selber keine Texte mehr schreiben, sondern kann einfach seine Daten eingeben und damit wird automatisch das Kündigungsschreiben erstellt. Es sind bereits mehr als 1400 Firmen gelistet und es gibt auch bei fast jeder spezielle Punkte die man weiter Angeben kann. Zum Beispiel beim Kündigen des Handy Vertrags, wenn man die Rufnummer mitnehmen möchte.

Die Frage ist warum funktioniert so ein Service und werden die Kündigungen auch alle akzeptiert? Ich kann natürlich nicht für alle Sprechen, aber bei mir hat es bisher immer sehr gut funktioniert. Man braucht dazu nur die Handy-Signatur (erhältlich zB über FinanzOnline), welche in Österreich kostenlos ist und durch das Signaturgesetz ist die Kündigung gleichwertig mit einer schriftlichen. Anschließend wird Kündigung mit der eigenen Handy-Signatur signiert und als E-Mail an die entsprechende Firma gesendet. Selber bekommt man eine Lesebestätigung und sollte durch die Firma eine Bestätigung erhalten. Man sollte aber beachten, dass man als Kunde der gerade gekündigt hat, nicht wirklich bevorzugt wird. Also kann die Bestätigung der Kündigung ein paar Tage dauern.

Wie ich finde ein toller Service den die Firmen wahrscheinlich nicht so gerne sehen. Aber vor allem in der Mobilfunk Branche können ein paar Kündigungen Wunder bewirken und auf einmal gehen die Preise wieder runter, obwohl in den letzten Jahren alles „so teuer“ geworden ist.

MacBook Pro Retina Late 2013 Wlan Probleme

Ich hab mir ja ein MacBook Pro Retina gekauft und wie man auch in diversen Apple Foren lesen konnte, hatten viele Probleme mit dem Wlan. Das ging von stark schwankenden Pings bis zu Verbindungsabbrüchen. Bei meinem MacBook war es zum Glück nie so schlimm, dass es sehr gestört hätte, aber ein Ping zum Wlan Router der 5 Meter entfernt steht von bis zu 50 ms ist doch schon sehr verwunderlich.

Nach dem lesen diverser Foren (zB auch Apples Diskussionsforen) kann ich von diesen eigentlich nur abraten, weil dort doch ziemlich viel Blödsinn erzählt wird. Der eine meint es sei ein Problem der Hardware, ein anderer sagt vor Mavericks war alles besser und der nächste schwört auf das Abschalten von Bluetooth oder der Mikrowelle in der Küche.

Es handelt sich um ein Softwareproblem, welches in der bald erscheinenden neuen Version von OS X Mavericks gefixt wird. Zumindest habe ich seit der Installation der Pre-Release Version (nur für Developer) keine Probleme mehr und auch der Ping ist nun konstant zwischen 1-4 ms. Wann genau die neue Version für alle zur Verfügung steht kann man nicht sagen, aber so lange wird es wohl nicht mehr dauern.

Neue Version für Schulden App

Endlich hatte ich auch mal Zeit und Lust eine neue Version meiner Schulden App zu erstellen. Natürlich im iOS 7 Design.

iOS Simulator Screen shot 24 Nov 2013 20.14.54

An den Funktionen hat sich nicht wirklich viel geändert, außer das die Eingabe vereinfacht wurde und man für die Beschreibung jetzt einfach aus dem Verlauf, also bereits verwendete Beschreibungen, wählen kann. Außerdem wird die App jetzt kostenlos sein und wenn man mehr als 3 Personen hinzufügen möchte, muss man die Pro Version als In-App Purchase kaufen.

iOS Simulator Screen shot 24 Nov 2013 20.26.27 iOS Simulator Screen shot 24 Nov 2013 20.16.07