IOS 5 изменил код уникального идентификатора? - PullRequest
1 голос
/ 25 октября 2011

Функция

[[UIDevice currentDevice] uniqueIdentifier]

устарела в iOS 5, и я нашел решение в этом проекте, используя MAC-адрес: https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

Хорошо, это решено.Но теперь я обнаружил, что iOS 5 CHANGED формат кода, который uniqueIdentifier возвращает.

В iOS 4.x он находится в этом формате:

93F38DEB-3C0B-5C09-B746-0DFDFDDB297C

Теперь iOS 5 возвращает ту же функцию в следующем формате:

93f38deB3c0b5c09b7460dfdfddb297c

* 1023Кто-нибудь знает, изменился ли код вообще?Он отличается только формат или код действительно разные для одного и того же устройства?

Ответы [ 4 ]

1 голос
/ 25 октября 2011

A MAC-адрес - это (предположительно) глобально уникальный идентификатор, присоединенный к сетевому интерфейсу, хотя их можно изменить многими способами.

uniqueidentifier, который Apple использовала для предоставления доступа, был прикреплен к аппаратному обеспечению устройства и не изменялся, что делало его превосходным для отслеживания пользователя между приложениями и сеансами. Это также причина, по которой Apple ее удаляет, если я должен был догадаться Отсутствие возможности отслеживать пользователей по приложениям и сеансам повышает конфиденциальность пользователей на их устройствах.

Я не удивлюсь, если Apple в конечном итоге удалит доступ к MAC-адресу по тем же причинам, поэтому вам может быть полезно изучить другие варианты отслеживания устройств .

0 голосов
/ 05 января 2012

Вы не должны использовать уникальный идентификатор в iOS 5. Это все, что вам нужно знать.

Уникальный идентификатор в iOS всегда был чем-то избыточным и представлял большую угрозу безопасности.Другие операционные системы не имеют уникальных идентификаторов, и они могут жить без них.

  1. Вы всегда можете генерировать уникальные идентификаторы на своем сервере и отправлять их на свое устройство.
  2. Вы всегда можетегенерировать их из некоторого уникального системного свойства (например, MAC), используя системные функции.На iOS вы можете создать уникальный идентификатор, используя CFUUIDCreate.Этот идентификатор уникален для разных устройств и во времени (вы будете получать разные идентификаторы при каждом вызове), но вы можете сохранить их (например, в связке ключей).
0 голосов
/ 05 января 2012

Код ИЗМЕНЕН !!!!!

UniqueIdentifier больше не УНИКАЛЬНЫЙ !!!

Первый формат имеет длину 36 гекса

93F38DEB-3C0B-5C09-B746-0DFDFDDB297C

Второй имеет 40 гекса !!!!!

Потому что это изменилось.Я не знаю, добавляет ли он больше гекса к идентификатору, но больший размер изменил все.

0 голосов
/ 25 октября 2011

[[UIDevice currentDevice] uniqueIdentifier] все равно даст вам тот же результат, что и раньше.Проект, на который вы ссылаетесь, не является заменой 1: 1, это альтернатива, которая дает вам похожее решение с использованием другой реализации, поэтому две строки различны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...