¿Por qué no utilizar la dirección Mac y, posiblemente, hash it up.
Hay una excelente Categoría UIDevice-Extensión 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;
}
Usted podría reconsiderar esto con el modelo?
No sé cuáles son las historias de esta semana. Y deberías convertir esto en una pregunta específica. ¿Para qué planeabas usar el UDID? Seguramente no es un reemplazo de credenciales de usuario completo? – marcc
¿qué estás tratando de hacer? Utilizo una versión salada md5ed del UDID para saber desde qué dispositivo los datos se sincronizaron con otro dispositivo. Creo que esto está bien. No estoy informando nada a mi servidor para ver qué está haciendo la gente con mi aplicación. Lo malo no es el uso de udid, lo malo son esas funciones de "espionaje". Todo lo que esos muchachos están haciendo con UDID se puede lograr de otra manera. –
El UDID se usa para "identificar el dispositivo o usuario único" ... para "guardar y recuperar datos" ... y estoy seguro de que parte de esta información es MUY privada. ¿Qué debería usarse en su lugar? Algo era un usuario no puede pretender ser otro usuario. Todo sin verificar direcciones de correo electrónico o nombre de usuario o contraseñas. – Patty