Questo piccolo documento nasce dall’esigenza di esportare i contatti presenti in un iPhone 2G con iOS 3.1.3 verso la rubrica Contatti locale e verso la rubric contatti di iCloud, sincronizzata localmente con la versione desktop.
1. iOS
3.1.3
–
Esportazione
Rubrica
contatti
verso
app
Contatti
e
Contatti
iCloud
Questo
piccolo
documento
nasce
dall’esigenza
di
esportare
i
contatti
presenti
in
un
iPhone
2G
con
iOS
3.1.3
verso
la
rubrica
Contatti
locale
e
verso
la
rubric
contatti
di
iCloud,
sincronizzata
localmente
con
la
versione
desktop.
Non
ha
quindi
la
pretesa
di
creare
una
vera
e
propria
sincronia
tra
iPhone
e
iCloud.
L’esigenza
deriva
dal
fatto
che
iCloud
è
presente
solo
su
dispositivi
che
montano
versioni
di
iOS
superiori
o
uguali
alla
5.0.
Mi
rendo
conto
che
molti
lo
butterebbero
nella
spazzatura
un
iPhone
2G,
ma
io
no.
Occorrente:
-‐ Una
postazione
desktop/laptop
(preferibilmente
Mac
con
OSX
≥
10.6)
-‐ iTunes
installato
sulla
postazione
locale
-‐ Un
account
iCloud
sincronizzato
con
la
postazione
Mac
-‐ Il
software
iPhone
Backup
Extractor
liberamente
scaricabile
da
qui
http://www.iphonebackupextractor.com/
-‐ Il
software
SQLite
database
browser
liberamente
scaricabile
da
qui
http://sourceforge.net/projects/sqlitebrowser/
in
alternative
qualunque
software
in
grado
di
effettuare
query
SQL
su
un
db
sqlite
-‐ Una
minima
conoscenza
di
SQL
che
quasi
tutti
hanno
Buon
divertimento.
Simone
Galiano
2.
Partiamo
da
un
banale
backup
da
Itunes
(destro
sul
dispositivo,
Backup)
3. Ovviamente
nessuno
ci
dice
dove
va
a
finire
il
backup,
una
volta
scoperto
che
sta
in
/Users/<nomeutente>/Library/Application
Support/MobileSync/<stringaunivoca>,
si
comprende
che
è
necessario
decriptare…
4. L’applicazione
che
lo
fa
si
chiama
iPhone
Backup
Extractor
Ci
chiede,
prima
da
quale
backup
estrarre,
poi
cosa
estrarre,
poi
dove
estrarre.
Noi
abbiamo
estratto
in
una
sottocartella
di
Documenti
(iphone
c)
La
struttura
si
presenta
così
5.
Ovviamente
andiamo
in
Library
a
cercare
sotto
Address
Book,
vediamo
che
c’è
un
db
sqlite.
Utilizziamo
Sqlite
database
browser
per
aprire
AddressBook.sqlitedb
8. Una
volta
scoperto
che
le
2
tabelle
interessate
sono
ABPerson
e
ABMultiValue,
facciamo
una
query
di
confidenza
SELECT
C.First,
C.Last,
C.Organization,
A.value
FROM
ABPerson
AS
C
INNER
JOIN
ABMultiValue
AS
A
ON
C.ROWID
=
A.record_id;
Sembra
dare
risultati
incoraggianti.
9. Allora
la
perfezioniamo
dopo
avere
creato
una
tabella
denominata
Esportazione
con
4
Campi
TEXT
(First,
Last,
Organisation,Phone)
INSERT
INTO
Esportazione
(First,
Last,
Organisation,Phone)
SELECT
C.First,
C.Last,
C.Organization,
A.value
FROM
ABPerson
AS
C
INNER
JOIN
ABMultiValue
AS
A
ON
C.ROWID
=
A.record_id;
La
tabella
Esportazione
si
è
riempita
con
un
contenuto
molto
gradito,
lo
esportiamo
come
contacts.csv
sul
Desktop.
Apriamo
Contatti
in
Mac,
File,
Importa,
scegliamo
il
csv
precedentemente
generato
et
voilà
10. Ora
non
ci
accontentiamo,
spuntiamo
contacts
nelle
preferenze
di
sincronizzazione
di
iCloud
dalle
Preferenze
di
Sistema
In
un
attimo
il
Contatti
della
versione
web
di
iCloud
sarà
soddisfatto.
11.
E
anche
noi.
Accendiamo
iCloud
sull’iPad
e
lasciamo
sincronizzare
la
Rubrica
con
i
contatti
dell’iPhone.