quiero crear una aplicación web para el iPhone y necesito obtener la identificación del dispositivo (en lugar de nombre de usuario/contraseña). ¿Se puede hacer esto?obtener la identificación del iPhone en la aplicación web
Respuesta
Por supuesto que no. Eso sería un gran agujero de privacidad.
parece que se puede obtener el UDID sin terriblemente demasiado trabajo, esta respuesta es de esta entrada del blog: http://bendytree.com/tips/Getting-an-iPhone-UDID-from-Mobile-Safari
de Apple permite a los desarrolladores para obtener UDID de una persona (& hacer muchas otras cosas) a través de una interacción especial entre el teléfono y tu servidor web. He aquí un resumen:
- hacen clic en un vínculo a un archivo XML .mobileconfig en su sitio web
- Esto detiene su configuración de aprovisionamiento en su teléfono & les ofrece una botón 'Instalar' (que se deben presionar)
- el teléfono envía los datos que se solicitan en XML cifrado a la URL que establezca en su .mobileconfig
- de procesar los datos resultantes & muestran que un "gracias" página web
Ejemplo .mobileconfig para recuperar un UDID:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<dict>
<key>URL</key>
<string>http://yourwebsite.com/retrieve.php</string>
<key>DeviceAttributes</key>
<array>
<string>UDID</string>
<string>IMEI</string>
<string>ICCID</string>
<string>VERSION</string>
<string>PRODUCT</string>
</array>
</dict>
<key>PayloadOrganization</key>
<string>yourwebsite.com</string>
<key>PayloadDisplayName</key>
<string>Profile Service</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>9CF421B3-9853-4454-BC8A-982CBD3C907C</string>
<key>PayloadIdentifier</key>
<string>com.yourwebsite.profile-service</string>
<key>PayloadDescription</key>
<string>This temporary profile will be used to find and display your current device's UDID.</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
que necesitará para completar su propio URL y PayloadUUID. El PayloadUUID no tiene que generarse de una manera especial, solo asegúrese de que sea exclusivo para su aplicación.
También asegúrese de registrar un manejador de archivos para .mobileconfig (tipo de contenido application/x-apple-aspen-config).
PayloadOrganization y PayloadDescription se muestran al usuario cuando ven el perfil. En mi descripción, dije algo como "Presione Instalar para continuar ..." ya que pueden confundirse en esta pantalla.
No es necesario que firme su .mobileconfig, pero si no lo hace, verá una advertencia de que no está firmado (consulte a continuación).
Recepción de los datos solicitados QUIRK ADVERTENCIA: Por alguna razón, el proceso es extremadamente particularmente acerca de cómo su servidor responde cuando se envía al usuario a la URL preestablecida. Después de muchos intentos, creo que su URL de recepción DEBE ser un archivo .php. Esto parece una locura, pero hablo en serio.
PHP era el último idioma en el que quería trabajar, así que decidí redirigirme a una página que pudiera manejarlo mejor.
<?php
$data = file_get_contents('php://input');
header("Location: http://www.mysite.com/Results?data=".rawurlencode($data));
?>
QUIRK ADVERTENCIA :: La única manera que (otros &) tengo que trabajar es redirigir a un directorio. Intenté redireccionar a una página .aspx y falló. Si no lo haces bien, se mostrará un mensaje de error vago al usuario & que se bloqueará. Si tiene una mejor explicación para esto, por favor deje un comentario a continuación.
La página a la que se redirige es la página que se muestra al usuario para finalizar el proceso.
En mi ejemplo, esa página recibiría un parámetro de cadena de consulta 'data' que contiene la respuesta xml del teléfono.
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IMEI</key>
<string>12 123456 123456 7</string>
<key>PRODUCT</key>
<string>iPhone4,1</string>
<key>UDID</key>
<string>b59769e6c28b73b1195009d4b21cXXXXXXXXXXXX</string>
<key>VERSION</key>
<string>9B206</string>
</dict>
</plist>
¿Podemos leer IDFA o IFA o cualquier otro identificador único que también sea legible en nativo? ¡UDID ya no es legible en nativo! –
sé que es una entrada antigua, pero sólo quiero compartir una implementación de la solución de @ powerj1984 en php y listo para usar que he encontrado aquí:
https://github.com/hunk/get-UDID
Funcionó para mí .
Como dije es una implementación, consulte la solución de @ powerj1984 para una explicación más detallada.
Espero que ayude a alguien.
- 1. Android: identificación del producto en la aplicación
- 2. ¿Cómo verificar la identificación del dispositivo del simulador de iPhone?
- 3. ¿Falló la aplicación de la verificación del código de identificación?
- 4. cómo obtener imágenes del servicio web a la aplicación Android
- 5. Distinga entre el navegador web del iPhone y el agente del usuario de la aplicación iPhone
- 6. Obtener la identificación? del usuario actual como SharePoint puede?
- 7. Obtener la identificación del último registro insertado en mybatis
- 8. Cómo obtener la identificación del usuario actualmente registrado en pyrocms?
- 9. en Python y Linux cómo obtener la identificación del usuario
- 10. obtener una identificación de la aplicación para Facebook?
- 11. ¿Puede una aplicación web móvil obtener información de identificación del dispositivo Android?
- 12. ejecución del applet en la aplicación web
- 13. Node + Mongoose: ¿Obtener la última identificación insertada?
- 14. Obtener la última identificación eliminada en mysql
- 15. Aplicación web en la pantalla de inicio (estilo iphone)?
- 16. Forzar la aplicación web de iPhone en el modo horizontal
- 17. Pantalla de inicio de la aplicación web iPhone
- 18. ¿Cómo obtener la identificación del usuario actual conectado a Grails?
- 19. Cómo obtener la identificación de abuelos del proceso
- 20. Ayuda en la optimización del sitio web para iPhone
- 21. Wordpress: obtener información del autor de la identificación posterior
- 22. paypal IPN obtener la identificación de transacción del comprador
- 23. Obtener la fecha y hora de la zona horaria del dispositivo iPhone actual desde la aplicación UTC-5 de la zona horaria y la aplicación iPhone?
- 24. Obtener contactos de la libreta de direcciones de iPhone en una aplicación web móvil?
- 25. ¿Cómo obtener la disponibilidad del producto con la identificación del producto en magento?
- 26. Obtener hwnd por identificación del proceso C++
- 27. Obtener mi URL base de la aplicación web en JavaScript
- 28. ¿Cómo obtener la URL del sitio web de alojamiento en la aplicación Silverlight?
- 29. dispositivo de identificación de una aplicación de iPhone
- 30. Obtener la raíz de la aplicación web desde Spring Controller
por lo que, como alternativa, ¿qué puedo usar como identificador único en lugar de nombre de usuario/contraseña? – nks14
Puede generar un UUID (http://en.wikipedia.org/wiki/Uuid) y almacenarlo en DOM localStorage. – chiborg
mira una pregunta similar: http://stackoverflow.com/questions/2072240/read-udid-from-iphone-with-javascript-on-mobile-safari/2072364#2072364, algunas soluciones se indican allí – PetrV