TaschenGeld App

Was andere über Taschengeld sagen:

Très simple et efficace — Version 1.0.2, 12.6.11, Moussinho

It’s obvious that the App is written by someone who has kids.
It is easy to use and loggin changes to see, if your kids took your iPhone to change the entries in the lists just to tell you, you forgot to „pay“ them.
I like it. — Version 1.0.2, 25.2.11, H P

Mit Taschengeld App kann ich mit wenigen Klicks vermerken, dass ich meinem Sohn sein Taschengeld gezahlt habe.

Zwei Klicks – Fertig!
Die Taschengeld app löst somit mein Problem, dass ich für das „bezahlt“ eintragen bei Text-Listen immer so viele Klicks benötigte, dass ich es nach einiger Zeit aus Faulheit nicht mehr getan habe.
In Taschengeld App braucht man aber nur zwei (2) Klicks, bis das Taschengeld eingetragen ist: Einen, um das Kind auszuwählen, einen um den Betrag als bezahlt zu vermerken. Daher werde ich es immer schaffen, das Taschengeld-Zahlen einzutragen, den Überblick zu behalten, und zu wissen, ob ich jetzt wirklich vergessen habe Taschengeld zu zahlen, oder meine Kinder nur vergesslicher sind als ich.

Sicherheit ohne Passwort
„Aber wenn man kein Passwort eintippt, dann ist doch alles von den Kindern änderbar“, höre ich Euch sagen. Nun ja, daran haben wir gedacht: Jede Änderung wird protokolliert und eine kurze Überprüfung des Protokolls stellt sicher, dass kein „Bengel“ an den Einstellungen „verbessert“ hat – und wenn doch, dann wird es eben Rückgängig gemacht – und man lächelt weise und freut sich über die Cleverness der Kinder.

Empfehlungen für Taschengeld
Natürlich haben wir noch einige Empfehlungen für die Verwendung von Taschengeld und eine Taschengeld Tabelle dazu getan. So sind Diskussionen mit den Kindern etwas leichter zu beenden. Meine Erfahrung aus der Kindheit ist übrigens:
Es bekommt immer jemand mehr Taschengeld als ich.

VoiceOver
Natürlich ist die Applikation mit VoiceOver für verbesserte Bedienung sehbehinderter getestet, aber wir nehmen auch gerne Hinweise für Verbesserungen entgegen. Schickt mir einfach eine Mail.
Für die Übersetzungen bedanken wir uns bei:
Karin (ins Französische)
Paloma und Jonathan (ins Spanische)
Danke!

Hier ist der Link zur Taschengeld APP im iTunes APP Store

Neue Würfelbecher Version

Hallo,
Wir haben Würfelbecher in einer verbesserten Version freigegeben – eine Gemeinschaftsproduktion: Holger hatte den ersten Verbesserungswunsch (danke dafür), nämlich die Schüttelstärke änderbar zu machen. Nico hatte dann zwischendurch mal Lust, diese Idee zu implementieren. Ich hatte dann lange keine Zeit, denn ich habe ja an anderen Dingen gearbeitet – unter anderem an der Taschengeld App, siehe hier: Taschengeld App
Als ich nun etwas Zeit hatte, habe ich gleich noch neue Sprachen, einen Würfel mehr und eine verbesserte Zahlenausgabe eingebaut. Und dann habe ich mich einer anderen Idee von Holger erinnert – dass man doch Voice over, die Accessibility Funktion von iOS mit unterstützen könnte. Ich war mir zwar nicht sicher, ob das irgendjemanden interessiert – beim Schummeln die gewürfelten Augenzahlen laut vorgelesen zu bekommen ist ja nicht so clever, es sei denn, man hat Kopfhörer auf, wie ich beim Testen mit Voice over (um die anderen im Büro nicht zu stören).
Aber auch, wenn es keinen interessiert: Die Vorstellung, durch wenig Mehraufwand die Nutzbarkeit für Blinde und sehbehinderte zu verbessern, führte dazu, dass ich mich gut fühlte. Und das ist doch der Grund, warum ich diesen Job mache: Weil es mir Spaß macht und weil ich mich dabei gut fühlen möchte.
Viel Spaß mit Würfelbecher 1.1.0!
Gruß, Thomas

Zusammenfassung der Änderungen in 1.1.0
+ jetzt 1 bis 7 Würfel einstellbar
+ einstellbare Empfindlichkeit für das Schütteln – die Geräte sind leider etwas unterschiedlich empfindlich
+ dadurch ist Würfelbecher jetzt leichter auf dem iPod Touch der 4. Generation zu spielen
+ Unterstützung verschiedener Sprachen
+ Komma Zahlen haben jetzt ein Komma statt einem Punkt
+ leicht verbesserter Schüttelalgorithmus
+ Accessibility Support: Die Würfel Augenzahl wird angesagt, wenn man im VoiceOver Modus auf den Würfel tippt (Schummel-Spiele wie Meiern gehen dann aber nur mit Kopfhörer)

Für die Übersetzungen geht unser Dank an:
Karin (Französisch)
Paloma und Cesar (Spanisch)

Feedback und Sprachverbesserungen sind jederzeit willkommen!

 

APT 4: Und ab in den Store!

Damit meinen Kunden klar ist, dass die Applikation, die angeblich von mir ist, auch wirklich von mir ist, sind sie alle von mir zertifiziert. Das ist nichts au?ergewöhnliches: Jede Applikation, die für das iPhone entwickelt wird, hat ein Zertifikat.

Während der Entwicklung ist es einfach: Man holt sich ein „Team development certificate“ in dem „iOS provisioning portal“, kombiniert das mit den Namen der erlaubten Geräte und Leute und schon kann man loslegen. Das war nicht immer so, aber seit einiger Zeit gibt es ein Development auto provisioning, will sagen: Wenn man eine App geschrieben hat und die auf einem als Develpment Device identifiziertem Gerät laufen lassen will, dann macht Xcode das inzwischen automatisch für einen.

Problematisch ist nur, wenn man den Typen am anderen Ende der Welt die Software testen lassen will: Apple nennt diese art von App Verteilung „Ad hoc“ distribution und man muss extra dafür ein zweites Provisioning Profile erstellen und installieren. Dann kann man dem Tester mit der Applikation zusammen dieses Provisioning Profile schicken und er kann es ein Paar Monate lang testen. Das ist das Interessante daran: Nach ein paar Monaten läuft so ein Profil aus.

Logischerweise will man nicht, dass die App im App Store auch unter so einer Zeitbegrenzung leidet, daher gibt es auch unbegrenzte „distribution“ profiles. Hat man seine App fertig, kann man sie abschicken – zum Beispiel indem man sie in Xcode archiviert und dann von dort aus verschicken lässt. Soweit so gut.

Dabei kann man sich natürlich selber reinlegen. Wenn man die Apple Hinweise nicht Punkt für Punkt einhält, kann es schon mal sein, dass man mit „illegal Binary“ abgewiesen wird. Bei mir war der Fall einfach: Hoppla, hatte aus Versehen das adhoc profil ausgewählt. Korrigiert, erneut abgeschickt und schon war das Binary akzeptiert und bei Apple zum Review.

APT 3: Zahlen und Länder

Wenn ich eine Zahl in einem Dialogfenster darstellen will, ist es oft eine gute Idee, die Zahl schon in die Default Einstellungen des Dialogs (in den .nib bzw. .xib Files) vorzunehmen. Aber was, wenn ich Komma-Zahlen habe? Dann muss ich je nach Landeseinstellungen etwas anderes ausgeben.

Nun darf man die Entscheidung Komma oder Punkt leider nicht von der Sprache abhängig machen, denn die Spanier schreiben mit Komma, die Mexikaner aber mit Punkt. Daher unterscheidet iOS ja auch zwischen der Sprach-Einstellungen und Einstellung der Region.

Und damit das alles gut geht, dafür gibt es in iOS Funktionen. Statt initwithformat: Gibt es auch Initwithformat:locale:, eine Funktion, die netterweise das Komma oder den Punkt richtig setzt.

Damit sind Kommazahlen aber nicht mehr für .xib Files geeignet, denn die will man ja nur sprachspezifisch machen, um Ihre Anzahl nicht zu groß werden zu lassen. Daher behilft man sich, indem man die Zahl in den Xib Files leer lässt und dann beim Laden des Xib-files in viewdidload die Zahl korrekt formatieren.

APT 1: Localization „Bug“

„APT“ soll für „App programmier Tipps“ stehen. Damit sollen diese Artikel leichter von den anderen Beiträgen in diesem Blog unterscheidbar sein. Für den Fall, dass man sie mal alle nacheinander ansehen will.

Nehmen wir mal an, Du hast eine Applikation im Apple Store, die nur in einer Sprache erhältlich ist. Nun steht eine neue Version an und Du freust Dich, dass Du eine feine Übersetzung für Deine Texte hast. Mit wenigen Klicks und Stundenlangem tippen ist es so weit:

und….

Die alten Texte erscheinen immer noch – egal, auf welche Sprache DU umschaltest. Das liegt daran, dass Du den Namen Deiner Ressourcen gleich gelassen hast und in der Bundle Direktory noch die alte, nicht lokalisierte Version rumliegt – und die wird dummerweise zuerst gefunden!
Jetzt gibt es zwei Möglichkeiten:
1.) Die Installation auf Deinem iPhone oder Simulator zu löschen – dann sind die alten Versionen weg.
2.) Wenn löschen keine Lösung ist, weil dann Daten weg sind: Die Resource-Dateien umbenennen. Aber Vorsicht – keine nicht-lokalisierte Version der Datei mit dem neuen Namen ausprobieren, sonst hat man die auch auf dem Gerät.
3.) Als Dritte von zwei Lösungen kann man auch noch dem schönen InitWithNibName die richtige Datei geben. Die bekommt man mit Hilfe des Arrays „PreferredLocalizations“ aus dem Bundle.

NSBundle* bundle = [NSBundle mainBundle];
NSString *nibname =
[NSString stringWithFormat:@“%@.lproj/FlipsideView“, [[bundle preferredLocalizations]objectAtIndex:0]];

Nun ja, da direkt in den Index 0 zu gehen ist nicht die 100% Feine Art, aber da man ja den Pointer den man vom InitwithNibName bekommt überprüft (das macht Ihr doch alle, oder?) kann man das so lassen und im Falle, dass die Datei nicht da ist, noch mal ohne Lokalisation nachfragen.

Laut Dokumentation ist garantiert: Dass Deine Kunden die alte Datei auch gelöscht bekommen. Allerdings: Es gab Leute im Internet, die behaupten, sie hätten dieses Problem nach dem Installieren der neuen Version. Leider kann ich nicht nachprüfen, ob die ein anderes, oder genau dieses Problem haben – Vorsicht ist aber besser als die App zweimal einreichen müssen habe ich mir gedacht und mal eben die dritte Methode implementiert.

Kommentare willkommen!
Gruß, Thomas

P.s.: Nein, von der App aus löschen kann man die Datei nicht – die BUNDLE-Directory ist aus der Sicht der App schreibgeschützt.