Ausführliche App-Reviews

Das Update einer meiner iOS-App musste eine Woche warten, und dann gaaaanz lange getestet werden:

Wenn man den Zeiten der zugehörigen Mails glauben darf, betrug die eigentliche Reviewzeit genau 40 Sekunden. Entweder hat Apple vor der ständigen Updateflut der über 700.000 Apps kapituliert, oder aber verdammt viel Energie in Testautomatisierung investiert.

Die Infrastruktur würde ich mir gerne mal anschauen!

Etwas Lesestoff für zwischendurch

Nach fast einem halben Jahr Ruhe hier mal wieder ein Lebenszeichen. In dieser Zeit haben sich einige sehr interessante Artikel zu den verschiedensten Themen angesammelt, die ich gerne weiterempfehlen möchte.

Ein paar allgemeine Artikel:
Ein (englischer) Artikel darüber, wie es in amerikanischen Versandhäusern zugeht. Der Name der Firma wird zwar nicht genannt – aber das macht es nicht weniger schlimm. Obwohl sehr lang auf jeden Fall sehr empfehlenswert zu lesen.

Ein Blogartikel darüber, was man aus Filmen über geschäftliche Verhandlungen lernen kann. Wer braucht dann noch nen Vertrieb 😉 ? Und in dem Zug gleich noch ein Artikel dazu, womit Kunden einen in den Wahnsinn treiben können.
Etwas Lesestoff für zwischendurch weiterlesen

UISplitViewController mit Tücken

Gestern habe ich ziemlich lange nach einem Problem gegooglet, das zwar einige Leute haben, aber für das keiner eine befriedigende Lösung bieten konnte.

Im SplitViewControllerDelegate wurde die Methode willHideViewController: beim Drehen des iPads nicht mehr zuverlässig aufgerufen, nur noch einmal am Anfang, dann nicht wieder.

Durch stückchenweisen Rückbau konnte ich zumindest bei mir die Ursache bei mir finden: ich hatte im SplitViewController die UIViewControllerDelegate-Methode willRotateToInterfaceOrientation: überschrieben, ohne [super willRotateToInterfaceOrientation] aufzurufen. Das scheint den SplitViewController zu zerstören. Muss man ja auch erstmal wissen..

Interface Builder – wenn die View verschwindet…

Apple hat einen „lustigen“ Bug in den Interface Builder eingebaut.
Wenn man sein Macbook gelegentlich mit externem Monitor betreibt und manchmal auch nicht, kann man es schaffen, die XIB-Files des Interface Builder auf ebenso elegante wie nachhaltige Weise unbenutzbar zu machen.

Man nehme: das XIB-File und bearbeite die View auf dem externen Monitor. Das ganze dann Speichern und den externen Monitor abstecken. Wenn man das XIB-File jetzt wieder öffnet, hat meine keine Möglichkeit mehr, die eben bearbeitete View wieder in den sichtbaren Bereich zu kriegen.

Naja, fast keine. Der Trick: XIB-File mit einem Editor öffnen und nach dem Namen des XIB-Files suchen, bis sich in dessen Nähe eine Zeile findet, die <string>{{2123, -70}, {320, 480}}</string> oder so ähnlich lautet.

Die 2123 ist die x-Position des View-Hauptfensters und kann durch etwas, dass auf dem primären Monitor liegt, ersetzt werden, beispielsweise 20.

Et voila, schon klappts auch mit dem XIB-File.

Abstürze von Instruments im iPhone SDK 3.0

Nachdem ich ja seit einiger Zeit unter die iPhone-Developer gegangen bin, habe ich heute versucht, Instruments in Zusammenarbeit mit dem Simulator in Betrieb zu nehmen. Leider stürzte es für meine App immer wieder ab, während das Tracing mit Beispielprojekten von Apple problemlos lief.

Des Rätsels Lösung: meine App hatte ich für SDK 2.2.1 kompiliert, da auf meinem iPod Touch noch das alte System läuft. Dies funktioniert normalerweise problemlos, wird aber in Kombination mit Instruments wohl nicht unterstützt.

Mein Workaround: Für die Performanz-Analyse einfach die Device auf Simulator 3.0 umstellen, kompletten Clean machen (wichtig!), dann sollte es auch mit Instruments klappen.
Viel Spaß beim Profilen 🙂