obtener - udid iphone without itunes
¿Cómo obtener el dispositivo UDID en forma programada en iOS7? (10)
En Swift puedes obtener el UUID del dispositivo así.
let uuid = UIDevice.currentDevice().identifierForVendor.UUIDString
println(uuid)
Cómo obtener el dispositivo UDID en programáticamente en iOS7. [[UIDevice currentDevice] uniqueIdentifier]
Fui usado este código Esto es obsoleto iOS7. Cómo obtener el dispositivo UDID. La cadena UDID cambia cuando elimino la aplicación y la reinstalación significa que el UDID estaba recibiendo una diferente.
En iOS 7, Apple ahora siempre devuelve un valor fijo al consultar el MAC para frustrar específicamente el MAC como base para un esquema de ID . Así que ahora realmente debería usar - [UIDevice identifierForVendor] o crear un UUID por instalación.
Compruebe this pregunta tan.
Es trabajo 100% a toda la versión.
otra mejor opción recomendada por Apple use ASIdentifierManager Class Reference
ios7-app-backward-compatible-with-ios5-regarding-unique-identifier
Este enlace le dice cómo manejar y usar un marco personalizado.
uidevice-uniqueidentifier-property-is-deprecated-what-now
iOS 9
NSUUID *uuid = [[NSUUID alloc]initWithUUIDString:@"20B0DDE7-6087-4607-842A-E97C72E4D522"];
NSLog(@"%@",uuid);
NSLog(@"%@",[uuid UUIDString]);
o
Es compatible solo con iOS 6.0 y superior.
código para usar [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSUUID *deviceId;
#if TARGET_IPHONE_SIMULATOR
deviceId = [NSUUID initWithUUIDString:@"UUID-STRING-VALUE"];
#else
deviceId = [UIDevice currentDevice].identifierForVendor;
#endif
ios 5 para utilizar como
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
// This is will run if it is iOS6
return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
// This is will run before iOS6 and you can use openUDID or other
// method to generate an identifier
}
Para obtener UUID en Swift 3.0 :
let UUIDValue = UIDevice.current.identifierForVendor!.uuidString
Swift 2.2+ forma correcta de obtener UUID:
if let UUID = UIDevice.currentDevice().identifierForVendor {
print("UUID: /(UUID.UUIDString)")
}
Tiene 2 soluciones:
- Puede usar identifierForVendor después de almacenarlos en llavero y usarlos más tarde. Debido a que el valor del llavero no cambiará cuando vuelva a instalar la aplicación.
- Puedes probar OpenUDID
UDID ya no está disponible en iOS 6+ debido a razones de seguridad / privacidad. En su lugar, use identifierForVendor o advertisingIdentifier.
Por favor, vaya a través de this enlace.
NSString* uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; // IOS 6+
NSLog(@"UDID:: %@", uniqueIdentifier);
ACTUALIZACIÓN para iOS 8+
+ (NSString *)deviceUUID
{
if([[NSUserDefaults standardUserDefaults] objectForKey:[[NSBundle mainBundle] bundleIdentifier]])
return [[NSUserDefaults standardUserDefaults] objectForKey:[[NSBundle mainBundle] bundleIdentifier]];
@autoreleasepool {
CFUUIDRef uuidReference = CFUUIDCreate(nil);
CFStringRef stringReference = CFUUIDCreateString(nil, uuidReference);
NSString *uuidString = (__bridge NSString *)(stringReference);
[[NSUserDefaults standardUserDefaults] setObject:uuidString forKey:[[NSBundle mainBundle] bundleIdentifier]];
[[NSUserDefaults standardUserDefaults] synchronize];
CFRelease(uuidReference);
CFRelease(stringReference);
return uuidString;
}
}
Utilice identifierForVendor o advertisingIdentifier.
identifierForVendor:
An alphanumeric string that uniquely identifies a device to the app’s vendor. (read-only)
The value of this property is the same for apps that come from the same vendor running on the same device. A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor.
IDENTIFICADOR DE PUBLICIDAD:
An alphanumeric string unique to each device, used only for serving advertisements. (read-only)
Unlike the identifierForVendor property of UIDevice, the same value is returned to all vendors. This identifier may change—for example, if the user erases the device—so you should not cache it.
Además, consulte la documentación de Apple para identifierForVendor y advertisingIdentifier.
En Swift 3.0:
UIDevice.current.identifierForVendor!.uuidString
versión antigua
UIDevice.currentDevice().identifierForVendor
quieres una cuerda
UIDevice.currentDevice().identifierForVendor!.UUIDString
Para obtener UDID: (Si está utilizando esta aplicación, los usuarios de la tienda Might be be no lo permitirán -> Según mi preocupación)
- (NSString *)udid
{
void *gestalt = dlopen("/usr/lib/libMobileGestalt.dylib", RTLD_GLOBAL | RTLD_LAZY);
CFStringRef (*MGCopyAnswer)(CFStringRef) = (CFStringRef (*)(CFStringRef))(dlsym(gestalt, "MGCopyAnswer"));
return CFBridgingRelease(MGCopyAnswer(CFSTR("UniqueDeviceID")));
}
**Entitlements:**
<key>com.apple.private.MobileGestalt.AllowedProtectedKeys</key>
<array>
<string>UniqueDeviceID</string>
</array>
Para obtener UUID :
self.uuidTxtFldRef.text = [[[UIDevice currentDevice] identifierForVendor] UUIDString];