Ritka, több éves, ámde annál irritálóbb bugba akadtam az iMessage-ben, alighanem nem csak én. Pontosabban, hogy ez most bug vagy feature, ki-ki döntse el, ami szinte biztos, hogy alighanem problémát a legharceddzettebb Apple-idomár sem tudná megoldani, hacsak nem olvasott utána az iMessage protokoll, na meg azonosítás lelki világának, ha nem olvasott utána a témának. Ilyen szempontból egészen jó kiindulópont mondjuk ez a fórum. Az iMessage-t annak idején többek közt több, nem ritkán több Apple-eszközt egyszerre érintő sebezhetőség bejelentése után kapcsoltam le, amik közt olyan is előfordult, ami elvben távoli kódfuttatásra  adott lehetőséget a legfrissebb üzenetküldőben is. 

Amikor elkezdtem használni az iMac-emet, arra gondoltam, hogy létrehozok egy külön iCloud-fiókot neki, amit az egyik iPhone-omon is bekapcsoltam, eléggé gyorsan kiderült, hogy volt nem túl jó ötlet, ezért használtam ismét az eredetit a mobiljaimon is, viszont hiába száműztem, mi több, töröltem az új AppleID-t, az iMessage aktiválásánál mégis azzal próbált a szolgáltatáshoz kapcsolódni annak ellenére, hogy az újonnan létrehozott AppleID már nem is létezett. 

A hibajelenség valahogy így nézett ki, nem a posztban lévő mailcímeket használtam, de ez a lényegen nem változtat. Amikor próbáltam aktiválni az iMessage-t az érintett iPhone-omon, akkor az a korábbi, már nem létező apple @ brdczi.net AppleID-vel akart kapcsolódni és nem is ajánlotta fel, hogy azzal a címmel kapcsolódjak, ami a mobilhoz hozzá volt rendelve a többi iCloud szolgáltatáshoz, azaz az akos @ brdczi.net –tel. 

A dolog meglehetősen reménytelennek tűnt, megnéztem a fent emlegetett fórumot, majd Macbookon a meglévő AppleID-vel belépve megnéztem, hogy milyen feladói címmel „envelope”-pal engedélyezett az üzenetküldés, amiben látszódott a mobilszámon kívül több email cím is. Ezek egyike a korábbi AppleID-hez kapcsolódó feladói cím volt, ezért emlékezett – messze nem világos módon – az eszköz arra, hogy valamiért azzal kellene a szolgáltatást bekapcsolnia a mobilomon is. Az összes hozzárendelt envelope email-címet kiszedtem, csak a mobilszámot hagytam benn, a szolgáltatást az iMac-en és a Macbookon is kikapcsoltam, majd ismét be, hozzáadva egy, az új AppleID-hez kapcsolt email-címet. Ezt követően az iPhone-on az iMessage aktiválásnál már nem a régi AppleID-vel próbált kapcsolódni az iMessage-hez, hanem azzal, amit a többi szolgáltatás is használt az eszközön. És működött. 

A jelenség egyrészt felveti azt a kínos kérdést, hogy milyen programozástechnikai hibák lehetnek az almás felhő szolgáltatásaiban, amik esetleg nem csak kellemetlenek, hanem biztonsági szempontból is hagynak maguk után kivetnivalókat, mint amilyen volt a szintén éveken keresztül észrevétlenül maradt „goto fail” néven elhíresült SSL-t érintő sebezhetőség. Másrészt, persze nem Apple sajátosság, de jól tudjuk, hogy az Apple Care, na meg az Apple szervizei a gyakran előforduló problémák megoldására vannak berendezkedve, olyan probléma megoldására, ami a felhasználóknak legfeljebb néhány ezrelékét érinti, alighanem nem, így ha ritka issue miatt kerül az eszköz szervizbe, szinte biztos, hogy nem ússza meg a factory resetet, a felhasználó pedig egy kiadós adatvesztést. Ez utóbbinak az az oka, hogy ha a szerviz vagy a felhasználó teljes biztonsági mentést csinál az iPhone-járól vagy iPad-járól, az minden lesz csak nem teljes. Az Apple-felhasználóknak érdemes tudniuk többek közt azt is, hogy egy-egy teljes mentés utáni visszaállítás az alkalmazásokat, üzeneteket, emaileket visszaállítja persze, viszont a belső alkalmazásadatokat, mint mondjuk egy üzenetküldő app chatlogjai, amiről az app szerveroldalon nem tárol mentést, azt nem. Márpedig bőven van olyan alkalmazás, amelyik például a belső üzeneteket nem tárolja szerveroldalon spórolva az erőforrásokkal, egy ezer éves beszélgetés csak azért húzható elő, mert a mobil SQLite-adatbázisa tárolja, ami egy iTunes-os teljes  mentésbe vagy bekerül vagy sem, ezeket pedig iOS esetén messze nem triviális ledumpolni. Azaz sajnos vannak olyan alkalmazásadatok, amik gyakorlatilag tényleg csak addig léteznek, amíg az eszköz megvan és működik. 

Kép: pix-hd.com