Alle Beiträge von Markus

iPhone Kamera speichert keine Bilder mehr und die Lösung dafür

Heute hatte ich zum zweiten mal das Problem, dass mein iPhone (1.1.4) keine Fotos mehr machen konnte. Beim Fotografieren sieht erstmal alles normal aus, aber wenn man in die Filmrolle wechselt, werden dort keine Bilder sondern nur leere, weiße Rahmen angezeigt. Zuvor hatte ich beim Übernehmen der letzten „Filmrolle“ nach iPhoto ’08 (Version 7.1.4) ein komisches Verhalten: obwohl ich „Orginale löschen“ gewählt hatte, blieben die Bilder auf dem iPhone und wurden beim nächsten Synchronisieren wieder zum Import angeboten, worauf ich sie noch mal Importiert und anschließend scheinbar erfolgreich gelöscht habe. Außerdem hatte ich den Eindruck, dass von der letzten Filmrolle ein paar Bilder fehlten. Das letzte erfolgreich importierte Foto hat die Laufnummer 999 (IMG_0999.jpg), was mir irgendwie signifikant vorkommt.

Zum Glück bin ich nicht der einzige, dem das passiert ist, so dass man schon von einem bekannten Bug sprechen kann, auch wenn Apple den Bug meines Wissens nach nicht bestätigt hat. Über Google findet man relativ schnell verschiedene Lösungen, die aber meist auf „Recovery“ hinauslaufen – uns das ist mir doch ein bisschen zu viel des Guten.

Im Apple-Forum fand ich einen Thread zu dem Problem und von „Daniel Drysdale“ und in der darauf folgenden Antwort von „haa“ einen Hinweis auf eine einfach und schnell durchzuführende Lösung – vorausgesetzt, man hat bereits ssh auf seinem iPhone installiert. Einfach via ssh auf dem iPhone einloggen und im Verzeichnis /private/var/mobile/Media/DCIM den Ordner .MISC entfernen. Dann läuft es wieder wie geschmiert. Hier noch ein paar Details:


# pwd
/private/var/mobile/Media/DCIM
# ls -lR
total 0
drwx------ 2 mobile wheel 136 Sep 3 20:59 .MISC
drwx------ 2 mobile wheel 136 Jun 17 01:55 .MISC-old
drwx------ 2 mobile wheel 68 Sep 4 19:41 100APPLE
drwx------ 2 mobile wheel 68 Jun 19 20:11 101APPLE

./.MISC:
total 16
-rw-r--r-- 1 mobile wheel 258 Sep 7 14:14 Info.plist
-rw-r--r-- 1 mobile wheel 2822 Sep 3 20:59 PosterImage.jpg

./.MISC-old:
total 16
-rw-r--r-- 1 mobile wheel 318 Jun 21 08:50 Info.plist
-rw-r--r-- 1 mobile wheel 1016 Jun 17 01:55 PosterImage.jpg

./100APPLE:

./101APPLE:
# mv .MISC .MISC-old2
# cat .MISC-old/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LastFileGroupNumber-100</key>
<integer>1011</integer>
<key>LastFileGroupNumber-101</key>
<integer>665</integer>
</dict>
</plist>
# cat .MISC-old2/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LastFileGroupNumber-100</key>
<integer>1021</integer>
</dict>
</plist>

.MISC-old ist das Verzeichnis, das ich angelegt habe, als das Problem beim ersten mal auftrat (ja, 1000 Bilder in 2,5 Monaten, wie es scheint…). Wie man sieht ist der Bildzähler für das Verzeichnis 100APPLE einmal bei 1011 und einmal bei 1021 stehen geblieben (so interpretiere ich die Info.plist-Datei). Sieht aus, also ob nach 1000 Bildern ein neues Verzeichnis „101APPLE“ angelegt und verwendet werden soll, aber das iPhone verhaspelt sich dabei. Ein klarer Hinweis, dass ich das nächste mal nach 999 Fotos wieder mit Problemen rechnen muss. Nach dem nächsten Foto, das dann wieder problemlos gespeichert wurde, ist „.MISC“ wieder automatisch angelegt worden. So sieht es darin dann aus:


# cd .MISC
# ls
Info.plist PosterImage.jpg
# cat Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LastFileGroupNumber-100</key>
<integer>1</integer>
</dict>
</plist>

Der Zähler ist also wieder auf 1 zurückgesetzt – ein kleiner Nachteil. Apple sollte das schnellstens beheben (wenn das nicht schon passiert ist), denn es macht vielleicht nicht jedem User Spaß, ein paar Files im Unix-Dateisystem seines Telefons zu löschen.

Update 21.4.2009: Bei mir tritt der Fehler mit iPhone OS 2.2.1 nicht mehr auf. Nach Bild IMG_0999.JPG ging es dann problemlos weiter mit Bild IMG_0001.JPG. Hm, danke Apple, aber eine fortlaufende Zählung wäre doch noch besser, oder? Wenigstens bis 9999. Oder mal nachrechnen – jeden Tag maximal 1000 Bilder * 365 Tage * 100 Jahre Lebensdauer, ergibt eine obere Abschätzung von 36.500.000. Dazu würde ich mir ein frei wählbares Präfix wünschen, sagen wir „foo-„. Das ergibt folgendes, für alle Zeiten ausreichendes Dateinamensmuster: „foo-00000001.jpg“. Oder noch einfacher und schöner: „<Timestamp in UTC nach ISO 8601>-<Gerätename>.jpg“, beispielsweise „20090421T235959Z-foo.jpg“.

Update 29.8.2009: Apple hat anscheinend meinen Rat, wenigstens bis 9999 hochzuzählen befolgt. Nun stoßen die ersten Viel-Knipser an diese Grenze – tja, wie wär’s mit 99999, Apple? Siehe: Fix iPhone’s Camera Roll display bug

Mp3 ID3-Tags aus Dateinamen füllen

Hat man ein Bündel ordentlich benannter Mp3-Dateien, die aber ohne ID3-Tags daherkommen, steht man nach dem Import in iTunes vor dem Problem, diese erstmal wiederzufinden und zu einem ordentlichen Album zu gruppieren. Da bietet es sich an, die ID3-Tags aus dem Dateinamen automatisch zu füllen. Fast perfekt beherrscht diesen Job TriTag, eine Software (Postcardware), die genau zu diesem Zweck entwickelt wurde. Einfach fragliche Dateien per Drag-and-Drop in das Tool ziehen, ein Muster á la „%n. %a – %s“ vorgeben, Preview kontrollieren und „Apply“ drücken – fertig! Alle zum Muster passenden Dateien verschwinden aus der Liste – daher emfiehlt es sich bei heterogenen Listen mit dem komplexesten Muster anzufangen. Kleinigkeit zu beachten: Dateiendung MP3 (großgeschrieben) kann das Tool nicht richtig verarbeiten. Nach Umbenennen der Problemfälle klappt es aber einwandfrei. Fazit: Empfehlenswert.

Wäre allerdings noch schöner, wenn Apple dieselbe Funktion in iTunes integriert hätte. iTunes kann im Moment nicht mal den Dateinamen und Dateipfad in der Liste anzeigen, geschweige denn danach sortieren.

Die simple Kunst des iPhone Hackens

Das iPhone ist definitiv eine Plattform, die sich zu hacken lohnt – vor allem bei den derzeit noch arg restriktiven Bedingungen Apples. Die Hacks haben sich seit Anfang des Jahres deutliche weiterentwickelt. Während ein Jailbreak (hier zum Glossar) vor kurzem noch mit komplizierteren Abfolgen von kryptischen Tricks verbunden war, gibt es jetzt idiotensichere Tools (z.B. ziphone), die jedes auf dem Markt befindliche iPhone in wenigen Minuten von allen Sperren befreien – einfach mit iTunes eine aktuelle Firmware (z.Zt. also die 1.1.4) wiederherstellen und dann das Tool starten. Dank Synchronisation mit iTunes werden die Daten dann wiederhergestellt. Was dann nur noch zu tun bleibt, sind ein paar Feinjustierungen an den Einstellungen: die APN in den Edge Einstellungen, die Favoriten der Kontakte, etwas Kleinkram – und dann einmal mit dem „Installer“ durch das Verzeichnis brausen und die besten Applikationen nachinstallieren. Mit Wartezeiten alles in weniger als einer Stunde zu schaffen. Ein recht geringer Preis für die Freiheit.

iPhone Developer

Heute hat Apple das SDK für das iPhone für Juni 2008 angekündigt und gleich als Beta zum Download bereitgestellt. Also nicht mehr im Februar, wie ursprünglich angekündigt. Ist das nun eine Woche oder 4 Monate Verzug? Aber ich will nicht meckern, ist ja alles kostenlos – nur registrieren muss man sich. Ich glaube, ich bin nicht der einzige, der es ausprobieren will, denn der Server sieht schwer überlastet aus. Immerhin, nach ein paar Versuchen habe ich nun die Bestätigung von Apple und bin „Registered iPhone Developer“ – nur mit dem Download hapert es noch. Ich bin gespannt, was daraus wird – ob ich mehr als ein „Hello World“ zustande bekomme. Ich hätte gerne eine vernünftige Projekt- und Aufgabenverwaltung á la GTD. Dass ich seit Anfang des Jahres ein mehr als stolzer Besitzer eines iPhones bin, brauche ich hier wohl nicht erwähnen, da mein geneigter Leser es ja bereits weiß.

Digitalfotos retten mit Klix

Ein lieber ungenannt bleiben wollendes Mitglied meines Haushalts löschte gestern versehentlich alle Fotos von der Digitalkamera – bevor sie gesichert waren. Fotos von mehreren Wochen futsch. Und dann noch ein paar neue geknipst und die FAT ein bisschen durcheinander gebracht. Damit war klar, womit ich den Abend am Mac verbringe: Daten retten.

Leider sackte die Laune erstmal nach unten, weil ich einige Tools ohne Erfolg durchprobiert habe. Angefangen mit der Freeware Exif Untrasher, dann Photorescue, File Juicer und FileSalvage – alles Fehlschläge in meinen speziellen Fall. Letzter Versuch, kurz vorm Aufgeben, war dann Klix. Das Tool brauchte dann vielversprechend lange (bei Direktzugriff auf die SD-Karte). Und heute morgen: alle verloren geglaubten Fotos waren in der Thumbnail-Ansicht wieder da. Mit der Demo-Version kann man netterweise sogar ein einzelnes Bild wiederherstellen. Das funktionierte.

Daher habe ich die Software heute gekauft: Klix: JPEG Recovery, Image Recovery, Lost Picture Recovery Software für PC & Mac. Kosten: $22.47 (regulär $29.95 – aber ich konnte hier noch eine Promotioncode auftreiben – „PRO247“ – der zwar abgelaufen sein sollte, aber doch noch funktioniert hat). Die längliche Prozedur mit via Lizenzschlüssel aktivierter Software wiederholt, brachte dann das erhoffte Resultat: alles gerettet. Danke, JoeSoft.

Nebenbei: ein Segen für die ganze Aktion war, dass auf dem Mac Software nicht sytemverschmutzend installiert werden muss, bevor man sie einsetzt. Es gibt auch meist kein Installationsprogramm, sondern einfach ein Diskimage (*.dmg), das durch Doppelklick einfach gemountet wird. Vom Image kann dann direkt das Tool gestartet und ausprobiert werden.