För de allra flesta iPhoneanvändare är sms ett lika viktigt, om inte viktigare, sätt att kommunicera som röst eller epost. Därför kan innehållet vara intressant att spara. Även Apple har uppmärksammat detta. Vid synkning gör iTunes därför en säkerhetskopia av datat. Du är alltså skyddad om du förlorar enheten eller om den går sönder. Men det hjälper inte om du vill byta telefon, arbeta med informationen på datorn eller enkelt skicka långa utdrag på konversationer.

Lösningen är att hämta ut dina sms-meddelanden från telefonen. Och för detta erbjuder Apple inte några specialverktyg. Du är istället hänvisad till att själv extrahera information från säkerhetskopian. Eller direkt från telefonen, om du har hackat den. Lyckligtvis är det, som du ska se, en relativt smal sak att utföra operationen. Mycket tack vare att Apple valt en känd lösning för att spara undan data.

Som vanligt måste du vara försiktig när du jobbar med konfigurationsfiler. Se därför till att alltid experimentera med kopior.

Säkerhetskopiera din telefon
Första steget du måste göra för att det här ska fungera är att skapa en säkerhetskopia av innehållet på din telefon. Detta sker automatiskt när du synkar luren på den dator du registrerat iPhonen. För andra maskiner måste du högerklicka på enheten och manuellt välja att starta jobbet. Vad du måste komma ihåg är att den nedsparade filen inte får vara krypterad. I så fall kommer du inte att komma åt uppgifterna i databasen.

Leta upp dina filer
Allt som sparas undan i säkerhetskopieringen hamnar under ~/Library/Application Support/MobileSync/Backup/[unik sträng]/. Tittar du i katalogen kommer du att se en lång lista med märkliga, hexadecimala namn. Alla är inte läsbara med metoden vi går igenom här, men några är det. Leta upp filen: 3d0d7e5fb2ce288813306e4d4636395e047a3d28.mddata
Gör en kopia av den och lägg den på skrivbordet.

Ladda ner nödvändig mjukvara
Öppnar du filen med en vanlig editor kommer du att se dina meddelanden, men de är omgivna av konstiga tecken. Det beror på att filen i praktiken är en SQLitedatabas. Lyckligtvis är detta ett känt format. Det enda du behöver för att få en mer strukturerad vy är att hämta ett program som kan titta på denna typ av filer. Exempelvis SQLight Database Browser, som är helt gratis och finns på sourceforge.net/projects/sqlitebrowser.

Installera och starta programmet
För OS X kommer programmet i form av en zipfil. Och det är helt fristående. Därför finns det ingen riktig installationsprocess. Det är bara packa upp filen och lägga den i din applikationsmapp. Dubbelklicka sedan på den för att sparka igång SQLite Database Browser. Trots att det handlar om en relativt enkel lösning kan du faktiskt bygga dina egna databaser. Men ambitionen här är alltså att titta närmare på existerande data.

Läs in filen och se dina SMS
Nu är det dags att börja snoka i filen. Som tidigare nämnt är det en bra idé att inte jobba med originalet, utan att först skapa en kopia på disk. När du har gjort det klickar du på File och Open Database. Leta upp databasen och öppna den. Vyn du först får upp kan se lite underlig ut, men den beskriver bara hur innehållet ser ut. Klicka på fliken Browse Data och sedan Message i tabellistan. Nu ser du alla dina meddelanden.

Sök och filtrera data
Att titta på all information rakt upp och ner är i och för sig kul. Och om du bara behöver säkra upp innehållet är detta mer än nog. Men om du är nyfiken av att titta efter en given datamängd, är filtrering en nödvändig funktion. Om du exempelvis minns dig haft en diskussion om OS X tidigare är det bara att först klicka på förstoringsglaset. Sedan väljer du text i första listan, contains i andra och slutligen OS X i sista.

Kör egenbyggd SQL
Den inbyggda sökfunktionen är smidig, men givetvis inte lika flexibel som SQL-språket. Lyckligtvis har du möjligheten att själv skriva in frågor i programmet. Vill du exempelvis se hur många SMS du fått och skickat, nedbrutet per nummer kan du köra:
select adress, count(*) from message group by adress order by 2 desc

Programmet har inga hjälpfunktioner så du måste kunna skriva kommandon.

Exportera till CSV-filer
Eftersom alla inte kan SQL och ännu färre har tillgång till program för att läsa ut SQLite, kan det vara en god idé att använda ett vanligare format. Ett av de mest frekvent förekommande är kommaseparerade listor, CSV-filer. De kan enkelt tolkas av kalkylprogram. Lyckligtvis finns exportmöjligheter. Klicka på File, följt av Export och Table as CSV file. Välj message och avsluta med att lägga filen på lämpligt ställe.

Importera till kalkylprogram
Som nämnt är kalkylprogram, exempelvis Excel och OpenOffice.org, de bästa mottagarna för CSV-filer. När du försöker öppna typen kommer applikationen att uppmärksamma vad du vill göra och föreslår hur informationen ska läsas in. Resultatfilen från SQLite Database Browser är väldigt lättolkad och sannolikt är det som föreslås rätt. Notera bara att första raden är en rubrik och att alla fält är separerade med ett kommatecken.

Formatera datum
Som du märker är datum inte läsbart. Det beror på att det är Unixtid, vilket är antalet sekunder sedan januari 1970. Skapa därför en kolumn till vänster om date genom att klicka Insert och columns. Mata in formeln =[datecellen till höger] / 86400 + 25569 Dra ut formeln till hela raden genom att ta tag i nedre, högra hörnet och föra muspekaren neråt. Markera sedan alla celler, välj Format och Cells, följt av ett datumformat.

Genomgång kolumner
Det finns en hel del kolumner i databasen. Några av dem kan vara bra att förstå. Rowid är enbart ett löpid. Address är det telefonnummer raden gäller. Date är datum, som vi sett. Text är själva meddelandet. Flags indikerar inkommande (2) eller utgående (3). Group_id knyter ihop serier via tabellerna groups och group_member. Du kan extrahera dem på samma sätt som message om du vill göra djupare utsökningar..

Vidare möjligheter
Det är inte bara sms som kan läsas ut på det här sättet. Samtalslistor och anteckningar är exempel på två andra alternativ. Filerna du ska söka efter om detta intresserar är i så fall ff1324e6b949111b2fb449ecddb50c89c3699a78.mddata respektive 740b7eaf93d6ea5d305e88bb349c8e9643f48c3b.mddata En annan möjlighet är att exportera informationen till SQL istället för CSV.