Почему бы не использовать Mac-адрес и, возможно, затем его использовать.
Существует отличный UIDevice-Extension Категория here
- (NSString *) macaddress
{
int mib[6];
size_t len;
char *buf;
unsigned char *ptr;
struct if_msghdr *ifm;
struct sockaddr_dl *sdl;
mib[0] = CTL_NET;
mib[1] = AF_ROUTE;
mib[2] = 0;
mib[3] = AF_LINK;
mib[4] = NET_RT_IFLIST;
if ((mib[5] = if_nametoindex("en0")) == 0) {
printf("Error: if_nametoindex error\n");
return NULL;
}
if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0) {
printf("Error: sysctl, take 1\n");
return NULL;
}
if ((buf = malloc(len)) == NULL) {
printf("Could not allocate memory. error!\n");
return NULL;
}
if (sysctl(mib, 6, buf, &len, NULL, 0) < 0) {
printf("Error: sysctl, take 2");
return NULL;
}
ifm = (struct if_msghdr *)buf;
sdl = (struct sockaddr_dl *)(ifm + 1);
ptr = (unsigned char *)LLADDR(sdl);
NSString *outstring = [NSString stringWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",
*ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5)];
// NSString *outstring = [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X",
// *ptr, *(ptr+1), *(ptr+2), *(ptr+3), *(ptr+4), *(ptr+5)];
free(buf);
return outstring;
}
Вы могли бы хэширования это с моделью?
Я не знаю, что такое истории на этой неделе. И вы должны превратить это в конкретный вопрос. На что вы планируете использовать UDID? Наверняка не полная учетная запись пользователя? – marcc
Что вы пытаетесь сделать? Я использую salted md5ed версию UDID, чтобы узнать, какие данные устройства были синхронизированы с другим устройством. Я думаю, что все в порядке. Я не сообщаю ничего о своем сервере, чтобы узнать, что делают люди с моим приложением. Плохая вещь - это не использование удид, а плохие - это «шпионские» функции. Все, что делают эти парни, делают UDID, можно достичь по-другому. –
UDID используется для «идентификации уникального устройства или пользователя» ... для «сохранения и восстановления данных» ... и я уверен, что некоторые из них являются ОЧЕНЬ личной информацией. Что следует использовать вместо этого? Что-то пользователь не может претендовать на роль другого пользователя. Все без проверки адресов электронной почты или имени пользователя или паролей. – Patty