Apple utrudnia życie programistom?

UDID Ikonka
Tak podają serwisy internetowe np. techcrunch.com. Chodzi o zablokowanie dostępu do UDID w iOS5. Czy to bardzo skomplikuje życie deweloperom?




Niektórym pewnie tak choć nie powinno, bo Apple od początku nie zalecał używania UDID (unikalnego identyfikatora urządzenia) w celu identyfikacji użytkownika. UDID jest używane przez Apple w wielu sytuacjach np. przy przypisywaniu urządzeń do konta deweloperskiego, a „wewnętrznie” pewnie znacznie częściej. Deweloperzy, którzy idąc na skróty używali UDID potraktowane (lub o zgrozo nie) kilkoma magicznymi sztuczkami do zakładania kont w serwisach sieciowych obsługujących aplikację, w rankingach punktów itp. teraz będą mieli trochę pracy…
Apple zalecało (a teraz zmusza) do generowania Universally Unique Identifier (UUID) za pomocą CFUUIDCreate (nie jest to identyfikator skojarzony z konkretnym urządzeniem, a jedynie niepowtarzalny ciąg znaków) i używania go w programie oraz związanych z nim usługach sieciowych w celu identyfikacji (po uprzednim zapisaniu w ustawieniach programu).
Jakie mogą być powody takiego przymusu? Moim zdaniem chodzi o iCloud. Dzięki iCloud nie będziemy związani z urządzeniem. Nasze dane i dane programów będzie można odtworzyć swobodniej niż teraz przy użyciu iTunsa. Do tego częściej będziemy zamiennie korzystać z naszych iUrządzeń i będziemy np. zaczynać grę na iPhone aby ją dokonczyć na iPadzie lub naszym iUstrojstwie. Wiązanie ustawień czy kont w sieci z UDID (identyfikatorem przypisanym do urządzenia) mocno takie „przenosiny” by utrudniało. Teraz gdy wszyscy deweloperzy (a wielu na szczęście już od dawna tak robi) będą korzystać z UUID (identyfikator niezwiązany z urządzeniem) przenoszenie kont, stanów gier i programów między urządzeniami będzie prostsze. Wystarczy przekazać (np. za pomocą iCloud) UDID stworzony przy pierwszym uruchomieniu programu na inne urządzenie.
Apple znów użył przymusu do zdyscyplinowania deweloperów i nie można mieć mu tego za złe. Takie podejście od lat wymuszało na programistach tworzenie bardziej uniwersalnego kodu łatwiejszego do przystosowania np. do nowych urządzeń, procesorów, systemów. Żadna firma komputerowa nie ma za sobą tylu udanych zmian platform sprzętowych i programowych. Apple przesiadł się z procesorów Motoroli na PowerPC potem na Intela i teraz równolegle na ARM. Przesiadki by się nie udały gdyby nie lekki zamordyzm w jakim trzyma programistów (w tym mnie) ;-)