Meine Probleme mit watchOS

Inhaltsverzeichnis

Apple verkauft verschiedene Geräte. Darunter Computer, Handys und Smartwatches. Jedes dieser Gerätetypen hat sein eigenes Betriebssystem. Mac Computer nutzen macOS, iPhones nutzen iOS und die Apple Watch nutzt watchOS. OS steht dabei für Operatingsystem, also Betriebssystem. Ich bin aktuell dabei eine App für die Apple Watch zu programmieren. Die Sprache Swift kann ich weiterhin verwenden und auch die meisten anderen Dinge sind identisch. Allerdings gibt es auch Unterschiede. Um diese Unterschiede und meine Schwierigkeit eine watchOS App zu schreiben, wird es im Folgenden gehen.

 

Warum empfinde ich watchOS als schwieriger als iOS?

Im Allgemeinen gibt es drei Gründe, warum ich watchOS als schwieriger empfinde als iOS. Diese Unterschiede haben hauptsächlich etwas mit der Popularität zu tun.

Weniger Video Tutorials

Für watchOS gibt es deutlich weniger Video Tutorials als für iOS. Da es mehr iPhone Nutzer gibt, ist der Markt für iPhone Apps größer und somit ist iOS Development mehr gefragt als watchOS Development. Da es mehr Nachfrage für iOS Tutorials gibt, findet man auch mehr iOS Tutorials auf YouTube. Die Tutorials für watchOS, die man findet beschränken sich meistens auf die Einführung und Grundlagen und gehen nicht so sehr in die Tiefe. Wenn man nach spezifischeren Problemen auf YouTube sucht, findet man oft nur Videos, die nichts mit Programmieren zu tun haben. Diese drehen sich meistens um die Apple Watch selbst und Einstellungen dieser.

Da ich irgendwann keine Video-Tutorials mehr gefunden habe, habe ich mich nach Blogbeiträgen oder anderen Beiträgen umgeschaut. Da war die Auswahl schon deutlich größer. Allerdings haben diese Beiträge auch ihre Probleme.

Mehr Blogbeiträge – aber oft veraltet

Das Problem mit den Blogbeiträgen ist, dass diese schon nach 3 oder 4 Jahren zu alt sind und dann das Problem nicht mehr über die beschriebene Lösung zu lösen ist. Ich kann also das von mir beschriebene Problem finden, die Lösung ist aber veraltet und funktioniert nicht mehr.

Ab und zu sind aber doch ein paar hilfreiche Blogbeiträge dabei. Es kann aber auch passieren, dass man überhaupt nichts findet.

Keine passenden Ergebnisse bei Google

Manchmal finde ich auch überhaupt keine passenden Ergebnisse. Der Grund dafür ist wieder, dass watchOS Development ein kleiner Teil ist und generelle Probleme mit der Apple Watch und iOS Development deutlich größer sind. Daher erhalte ich oft Suchergebnisse, die für Apple Watch Nutzer relevant sind, oder Suchergebnisse die sich auf iOS Development beziehen. Selbst wenn ich watchKit, watchOS oder Swift mit zu den Suchbegriffen schreibe, werden diese Wörter manchmal ignoriert.

Da ich irgendwann auch nichts mehr bei Google gefunden habe, musste ich zwangsweise in die Dokumentation von Apple schauen. Allerdings ist die Dokumentation meist schwieriger zu verstehen, als Beispiele aus dem Internet.

Weniger Dokumentation und keine Beispiele

Die Dokumentation ist grundsätzlich auch eine gute Quelle für Informationen. Ich habe bis jetzt aber noch nicht so viel mit der Dokumentation arbeiten müssen. Beim Arbeiten mit iOS gab es meistens Videos, Blogbeiträge oder Stack-Overflow Antworten, die meine Fragen aufgeklärt haben. Daher habe ich wenig Erfahrung damit, etwas selbstständig in der Dokumentation nachzuschauen. Ich werde aber mit der Zeit besser.

In der Dokumentation finden sich aber leider keine Beispiele. Es wird stattdessen beschrieben, was man machen muss und es werden einzelne Code Ausschnitte gezeigt. Wo diese Ausschnitte hingehören muss man aber selbst wissen. Oft gibt es auch auf einer Seite Dokumentation so viele Links, dass man gar nicht weiß, wo man mit dem Lesen anfangen soll.

Für mich ist es leichter mit der Dokumentation einzelne Klassen zu verstehen. Wie Beispielsweise „CLLocation“. Größere Konzepte wie „Background-Modes“ finde ich schon schwieriger.

Dazu kommt bei diesem Projekt noch dazu, dass ich den Simulator nicht benutzen kann.

Kein Simulator

Um eine App zu testen, nutzt man meistens einen Simulator. Ein Simulator simuliert ein iPhone oder eine Apple Watch auf dem Mac und erleichtert das Testen einer App. Leider ist der Simulator für Apple Watch aber etwas eingeschränkt. Es kann beispielsweise keine Richtung (Heading) simuliert werden. Da ich diese aber für meine App brauche, kann ich den Simulator nicht nutzten. Stattdessen muss ich meine eigenen Apple Watch zum Testen nutzen. Dabei gibt es aber immer wieder Probleme. Es fängt damit an, dass das Starten einer App deutlich länger dauert. Was auf dem Simulator 5 Sekunden zum Starten benötigt, braucht auf der Apple Watch 30 Sekunden. Dann kann es noch vorkommen, dass es überhaupt nicht funktioniert und man seinen Mac, iPhone oder Apple Watch neu starten muss.

Das Testen ist also deutlich anstrengender und kostet viele Nerven.

 

Es gibt auch noch ein weiteres Problem was ich aktuell habe, was aber nichts speziell mit watchOS zu tun hat.

Relevanz eines Features einschätzen

Ich empfinde es schwierig die Relevanz eines Features einzuschätzen. Ich selbst nutze die App in einer bestimmten weise. Andere Nutzer können die App aber auch für andere Zwecke nutzen. Bei einer anderen Nutzung kann es sein, dass manche Features besonders wichtig sind, und andere Features komplett an Relevanz verlieren. Es ist also schwierig zu sagen, wie wichtig ein Feature ist und ob es sich lohnt mehrere Tage oder Wochen zu investieren, um etwas zu programmieren, was am Ende vielleicht doch nicht möglich ist.

 

Auch wenn es schwierig und manchmal nervig ist eine watchOS App zu programmieren, macht es mir Spaß. Besonders gefällt es mir auch, das User Interface so intuitiv wie möglich zu gestalten. Ich lerne auch viel darüber wie Apple Watch Apps funktionieren und was Apple macht und erlaubt um etwa eine lange Akkulaufzeit zu garantieren.

Mich benachrichtigen, wenn es einen neuen Beitrag gibt.

 
 
Share on whatsapp
WhatsApp
Share on email
Email
Share on linkedin
LinkedIn
Share on facebook
Facebook