Eigentlich wollte ich heute Abend mein iPhone von den Fesseln befreien die aus Cupertino frei Haus mitgeliefert werden. Hilfe sollte mir hierbei das PwnageTool leisten. Die Customfirware konnte ich ohne Probleme erstellen und mittels iTunes 8 auch einspielen. Danach letztes Backup eingespielt damit wieder alles beim alten ist, auch das ging ohne Probleme. Ich war schon in eine richtige Euphorie abgedriftet, sollte es endlich soweit sein, Freiheit fuer mein iPhone? Ja, alles war glatt gelaufen (dachte ich zumindest bis zu diesem Augenblick, doch leider war mein Blick noch durch die Euphorie getruebt), mein iPhone war endlich frei. Sogar frei von jeglichem GSM/UMTS Signal (an dieser Stelle wuerde im Fernsehen das seichte Geduedel im Hintergrund durch ein harsches Kratzen eines Vinyltonabnehmers unterbrochen werden). Auf die Schnelle war keine Loesung im Netz gefunden (bestimmt hab ich was verbockt) und so musste das Ganze wieder rueckgaengig gemacht werden. Und das ging wenigstens flott und ohne Probleme.
Fazit: PwnageTool leicht zu bedienen, Backup und Restore funktioniert sehr gut, Loesung fuer fehlendes GSM/UMTS Signal muss noch gefunden werden. Stay tuned!

Am Wochenende habe ich mich mal etwas mit AppleScript beschaeftigt. Es ging mir ein wenig auf den Keks, dass die Albumcovers die aus iTunes gezogen werden nicht im ID-Tag gespeichert werden, sondern in der iTunes Library Database und den dazu gehoerenden Artwork Ordner. Bei der Aktion kam dann das unten aufgefuehrte Skript raus, dass aus den selektierten Liedern in iTunes die Cover extrahiert und in den zu dem Lied dazugehoerenden Ordner als JPG Datei abspeichert.


(*
Will save covers from selected songs in iTunes into
the album folder which belongs to the selected songs.
*)

tell application “iTunes”
  set lastAlbumName to “”

  repeat with mySong in (selection of front window)
   set songLocation to location of mySong
   set albumArtwork to raw data of first artwork of mySong
   set albumName to album of mySong

   if not (lastAlbumName is albumName) then
    tell application “Finder”
    set folderLocation to (get folder of songLocation as text)
    set coverLocation to folderLocation & “cover.jpg”

     (*
     If a cover is already in the folder, do nothing
     *)
     if not (coverLocation exists) then
      set albumFile to open for access coverLocation with write permission
      write albumArtwork to albumFile
      close access albumFile

      set lastAlbumName to albumName
     end if
    end tell
   end if
  end repeat
end tell

Fuer den oben dargestellten Code uebernehme ich keinerlei Verantwortung oder Haftung fuer die Korrektheit, Vollstaendigkeit
bzw. falls irgendwelche Schaeden durch den Code entstehen sollten.

Gerade mal 3 Wochen ist es her, da wurde die Firmware 2.1 fuer das iPhone veroeffentlich. MacRumors schreibt heute, dass bereits die erste Beta Version der Firmware 2.2 an iPhone Entwickler ausgegeben wurde (link). Ueber Neuerungen bzw. Fixes ist noch nicht viel bekannt. MacRumors berichtet, dass das Interface des Mobile Safari eine Ueberarbeitung bekommen hat.

Wer dachte, dass TimeMachine auch die Backupdateien des iPhone sichert, welche ueber iTunes angefertigt werden, der wird sich beim naechsten Datencrash wundern. TimeMachine sichert naemlich nicht das Verzeichniss
Library/Application Support/MobileSync/Backup in dem die Backups des iPhones abgelegt werden. Das ganze laesst sich mehr oder weniger einfach einstellen. In der Datei /System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist findet man die genauen Einstellungen von TimeMachine welche Ordner exkludiert sind. Diese Datei laesst sich am besten mit dem Property List Editor.app editieren. Unter UserPathExcluded findet man gleich unter dem ersten Eintrag den Pfad Library/Application Support/MobileSync zum Backupordner von iTunes fuer das iPhone.


Nachdem der Eintrag entfernt wurde (an das Backup der Datei noch denken, vielleicht wollen wir irgendwann mal wieder das Ganze rueckgaengig machen), wird beim naechsten Backup mit TimeMachine das Verzeichniss mit gesichert.

Nachtrag: Mit dem Update auf Mac OS X 10.5.5 ist dieser Mangel laut Apple behoben worden (hier nachzulesen).