Aplicatiile nu iti vor mai putea recunoaste iDevice-ul dupa UDID

  V-am spus in weekend ca Apple incepe sa respinga accesul in App Store aplicatiilor care inregistreaza UDID-ul iDevice-urilor si daca atunci nu toate echipele de verificare a aplicatiilor faceau acest lucru, iata ca totul a devenit mult mai serios intre timp. Dezvoltatorii celebrei aplicatii Tweetbot au incercat sa publice in App Store o noua versiune a propriei aplicatii si Apple a respins cererea companiei deoarece aplicatia respectiva inregistreaza UDID-ul dispozitivelor pentru a indeplini diverse functii iar Apple nu mai sustine aceasta practica.

  Decizia celor de la Apple ne scuteste de urmarirea tuturor miscarilor pe care le facem noi pe internet din diverse aplicatii, companiile care vand reclame publicitare vor trebui sa isi regandeasca metodele de service a reclamelor si sistemele de notificari push vor trebui regandite. Schimbarea implementata acum de Apple a fost anuntata acum cateva luni de zile iar cei care nu au facut modificarile necesare le vor face incepand de acum.

5 COMENTARII

  1. Povestea asta cu UDID-urile este mai mult sau mai putin corecta. Incepand cu sdk-urile 5.0 Apple a scos functia clasica de UDID mai exact:

    [[UIDevice currentDevice] uniqueIdentifier];

    Poate fi folosita dar ofera un warning lucru care ii indreptateste fara nici cea mai mica problema pe cei de la Apple sa respinga aplicatia iar developerii nu prea au ce spune pentru ca se vede clar ca este o problema.

    Exista insa o solutie foarte simpla: Generarea unui UDID cu ajutorul mac adress-ului device-ului. Aici solutia: https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

  2. Articol gresit:

    Definiţii tehnice pentru fiecare: UDID – ( iOS Unique Device ID), un număr în fiecare iPhone, care este utilizat de către dezvoltatori pentru a distribui aplicaţii noi, direct în telefon în scop de testare înainte de acestea sunt disponibile în App Store. UDID-urile sunt folosite pentru a crea un Apple-certificate de provizionare fişier, care este tras cu App în iTunes. UDID nu este vizibil pe telefon.

    deviceToken- un identificator pentru sistemul de notificare Apple Push pentru dispozitive iOS. Fiecare dispozitiv dispune de două deviceToken – unul pentru dezvoltare, şi una pentru producţia de ( ad-hoc sau App Store construieşte). Cele doua deviceTokenuri sunt 64 de caractere hexazecimale. deviceToken este furnizat de functia
    didRegisterForRemoteNotificationsWithDeviceToken din appDelegate si este folosit pentru primirea de notificari push.

    Notificarile push nu se fac cu ajutorul UDID-ului, ci se fac cu ajutorul deviceToken.
    Vezi:
    http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html

    https://support.urbanairship.com/customer/portal/articles/125827-are-%22udid%22-and-%22device-token%22-synonymous-

  3. Ia spune-mi ai folosit vreun sistem de notificari push? Accidental appicatia iDevice.ro foloseste asa ceva si stiu ce date preia ca doar le vad. Este adevarat ca mu toate istemele functioneaza cu ajutorul UDID-urilor dar multe se bazeaza pe ele pentru a deosebi dispozitivele.

  4. Da chiar lucrez acu la o aplicatie cu asa ceva. Ca sa trimiti notificari push nu se folosesc UDID. Din ce am lucrat eu pana acum, UDID se foloseste in momentul in care te inregistrezi ca utilizator pe developer.apple.com, ca sa poti sa iti folosesti terminalele pentru testare a aplicatiilor pana la publicarea lor in appstore. Doar terminalele inregistrate pot sa ruleze aceste aplicatii.