Y a-t-il un moyen, depuis la sortie d’iOS 7, d’obtenir l’UDID sans utiliser iTunes sur un PC / Mac?

Je développe une application pour mon entreprise et nous passons progressivement à la phase “bêta” en ajoutant leurs iPad aux comptes iOS Dev Center de l’entreprise. De là, nous effectuons une construction ad hoc pour la dissortingbution Intranet locale.

Lors de mon dernier concert, je dirigeais les gens vers l’une de ces applications “trouver mon UDID pour moi”, puis les amener à m’envoyer le UDID trouvé.

iOS 7 a coupé cela – ces applications sont toutes parties maintenant et si vous en avez encore un, il retourne du GUID qui n’a rien à voir avec l’UDID.

Donc, ce que je dois faire est de connecter chacune de ces choses à mon Mac, puis obtenir l’UDID depuis iTunes, ce qui est un peu compliqué (mais moins fastidieux que d’essayer de leur expliquer comment l’obtenir à partir d’iTunes, en supposant qu’ils même l’avoir installé). Et parfois, il essaie de se synchroniser avec mon Mac, ce qui ne semble pas avoir d’effet autre que la mise en place de profils de provisioning que je ne souhaite pas sur l’appareil. Et au moins une fois que j’ai eu un iPad, décidez tout à coup de mettre à niveau iOS 6 vers iOS 7, dont je ne suis pas sûr qu’il soit connecté (et dans ce cas, l’utilisateur ne voulait pas qu’il soit mis à niveau).

Existe-t-il un autre moyen d’obtenir l’UDID à partir de l’iPad que de le twigr sur une machine?

Pour être clair: je n’essaie pas d’obtenir l’UDID dans une application, j’essaie simplement de penser au moyen le plus rapide d’obtenir l’UDID à append à la liste des périphériques dans notre profil de développeur pour la dissortingbution.

Voici mes résultats de recherche:

Apple a caché l’UDID dans toutes les API publiques, à partir d’iOS 7. Tout UDID commençant par FFFF est un faux identifiant. Les applications “Envoyer UDID” qui fonctionnaient auparavant ne peuvent plus être utilisées pour rassembler des UDID pour les périphériques de test. (soupir!)

L’UDID est affiché lorsqu’un périphérique est connecté à XCode (dans l’organiseur) et lorsque l’appareil est connecté à iTunes (même si vous devez cliquer sur «Numéro de série» pour obtenir l’identifiant à afficher).

Si vous avez besoin d’obtenir l’UDID d’un périphérique pour l’append à un profil d’approvisionnement et que vous ne pouvez pas le faire vous-même dans XCode, vous devrez suivre les étapes pour le copier / coller depuis iTunes.

UPDATE – voir la réponse de okiharaherbst ci-dessous pour une approche basée sur un script pour permettre aux utilisateurs de test de vous fournir leurs UDID de périphérique en hébergeant un fichier mobileconfig sur un serveur.

Accédez à http://get.udid.io/ à partir de Safari sur votre appareil iOS. Cela fonctionne comme un charme et ne nécessite ni iTunes ni aucun autre ordinateur. Aucune application installée non plus.

MODIFIER:

Jetez également un coup d’oeil à Obtenir un UDID de périphérique de .mobileconfig si vous préférez ( logiquement ) avoir ce certificate .mobileconfig hébergé sur un de vos serveurs.

FAIRE VOTRE PROPRE:

Avoir une copie de l’exemple .mobileconfig hébergé sur votre serveur et écrire 2 ou 3 petits scripts dans votre langue préférée pour gérer le stream suivant:

  1. Naviguez sur Safari vers une URL redirigeant vers le fichier enrnemobileconfig ci-dessous. Cela permet à iOS d’ouvrir l’application Paramètres et d’afficher le profil.
  2. En acceptant le profil, iOS revient à Safari et publie le tableau DeviceAtsortingbutes sur l’URL spécifiée enr.mobileconfig.
  3. Les données POST contiendront un fichier .plist avec les atsortingbuts demandés (voir exemple ci-dessous). L’un d’eux sera le saint UDID.

Remarque: Vous devriez probablement avoir des messages conviviaux. Plus précisément, nous avons même une étape 0 où l’utilisateur est invité à fournir son nom et son adresse e-mail que nous stockons temporairement dans la session HTTP, puis à redirect la demande vers le profil mobileconfig. En fin de compte, nous comparons ces informations avec les données de l’iPhone et nous envoyons un e-mail de confirmation convivial. HTH.

inscription.mobileconfig

< ?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">   PayloadContent  URL http://support.devcorp.com/uuid/returnurl/ DeviceAtsortingbutes  DEVICE_NAME UDID PRODUCT VERSION SERIAL   PayloadOrganization DevCorp Inc. PayloadDisplayName Profile Service PayloadVersion 1 PayloadUUID C5FB9D0D-0BE7-4F98-82CC-5D0EA74F8CF8  PayloadIdentifier com.devcorp.profile-service PayloadDescription This is a temporary profile to enroll your device for ad-hoc app dissortingbution PayloadType Profile Service   

exemple .plist POSTed par l’iPhone à l’URL donnée

 < ?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">   PRODUCT iPhone4,1 SERIAL DNPGWR2VCTC0 UDID b01ea7bc2237fed21bfe403c6d2b942ddb3c12c3 VERSION 11A465  

J’espère que cela aidera:

  1. Connectez l’iPhone à votre MAC (je n’ai pas essayé avec Windows)
  2. Cliquez sur le logo d’Apple dans le coin supérieur gauche> sélectionnez À propos de ce Mac
  3. Dans l’onglet Aperçu > Rapport système
  4. Matériel dans la colonne de gauche> USB >
  5. puis sur le volet droit sélectionnez iPhone
  6. dans le volet inférieur -> ” Numéro de série

-> Et ce numéro de série est UDID

Si l’un de vos utilisateurs exécute Linux, il peut l’utiliser depuis un terminal:

 lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2 

Cela permet d’obtenir toutes les informations pour vos périphériques USB connectés et d’imprimer des lignes avec “Apple Inc”, y compris les 2 lignes suivantes.

Le résultat ressemble à ceci:

 iManufacturer 1 Apple Inc. iProduct 2 iPad iSerial 3 7ddf32e17a6ac5ce04a8ecbf782ca509... 

Cela a fonctionné pour moi sur iOS5 -> iOS7, je n’ai pas essayé sur les appareils iOS4 cependant.

IMO c’est plus rapide que n’importe quelle solution Win / Mac / Browser que j’ai trouvée et ne nécessite aucune installation “logicielle”.

TestFlight semble pouvoir extraire l’UDID une fois que l’utilisateur s’est inscrit:

https://testflightapp.com

J’ai utilisé l’utilitaire de configuration iPhone pour lire les UDID et installer l’application de développement. Fonctionne toujours bien sur iOS7

Branchez-le et lancez-le depuis la ligne de commande:

 system_profiler SPUSBDataType 

Chercher:

 Serial Number: xxxx 

Demandez-leur de créer un compte testflightapp.com .

Ceci est très utile pour les tests bêta – ce que je suppose, c’est ce dont vous avez besoin pour les udids.

Vous pouvez leur envoyer un lien de téléchargement vers votre application (qui se trouve dans les droits d’access en bas de la page) et il leur dira que leur udid n’a pas encore été validé. Il leur dira alors leur udid! Ils peuvent copier et coller ceci et le texte à vous.

Vous avez trouvé une bonne façon de le gérer: ajoutez l’application à testFlight.com et donnez le lien à l’utilisateur que vous souhaitez utiliser avec son UDID. Il verra un message d’erreur disant “UDID de votre appareil: xxxxxx n’est pas enregistré” et le UDID sera le bon.

Essayez cet outil en ligne http://www.easy-udid.com . Je l’ai testé sur divers appareils iOS (iOS 6 et 7) et cela fonctionne bien. Outil pratique pour append rapidement l’UDID du client dans le profil du développeur

S’il vous plaît utiliser test de vol pour obtenir UDID des testeurs, mais pas en utilisant une source non fiable, par exemple http://get.udid.io/

Vous pouvez 1. Inviter des testeurs dans un courrier électronique à partir de la page Web du vol de test. Les testeurs ouvrent le lien dans un courrier électronique et installent un profil à partir d’un vol d’essai. Par conséquent, les développeurs peuvent obtenir des UDID sur la page Web du vol de test. 2. Ajoutez ces UDID sur le portail d’approvisionnement d’Apple.

(Réf: http://help.testflightapp.com/customer/portal/articles/829537-how-does-it-work- )

Le processus n’exige pas que les testeurs utilisent Mac / PC pour obtenir UDID (plus pratique). Et je pense que le test en vol est une entreprise à laquelle on peut faire confiance (pas de soucis lors du passage d’UDID à cette société).

J’ai testé cette méthode et cela fonctionne sur iOS 8.

Étapes pour trouver l’UDID depuis IPhone et IPad sans utiliser iTunes

  1. Ouvrez le lien ci-dessous dans votre iPhone ou iPad: – http://get.udid.io/

  2. Cliquez sur le bouton Couleur verte – Tapez pour trouver UDID

  3. Obtenez votre UDID apparaîtra, Cliquez sur le bouton INSTALLATION du côté droit supérieur

4. UDID apparaîtra Copiez le UDID.

Je pense qu’iTunes semble être la seule solution, ce qui est extrêmement regrettable.

Ou utilisez ma solution ici http://www.my-mo.co.uk/device/deviceinfo.php vous permettra d’accéder à UDID et de l’envoyer par courrier électronique à qui vous voulez.

Si vous utilisez un mac, vous pouvez extraire l’UUID du “System Report” disponible dans “About this Mac”. Avec l’appareil connecté, ouvrez la section USB et cliquez sur iPhone. L’UUID apparaît sous “Numéro de série”

diawi.com a fonctionné pour moi, pas besoin de connecter un iPhone avec un câble ou autre: suivez simplement leur onglet “Mon appareil” qui vous amènera à installer leur profil de provision puis affichera l’UDID et appenda une option pour l’envoyer par email.

S’il vous plaît utiliser udid.io dans le navigateur de votre appareil Ou s’il vous plaît installer iTools et connectez l’appareil pour obtenir le bon UDID.

Adarsh ​​EM

Nous pouvons utiliser identifierForVendor pour ios7,

 -(NSSsortingng*)uniqueIDForDevice { NSSsortingng* uniqueIdentifier = nil; if( [UIDevice instancesRespondToSelector:@selector(identifierForVendor)] ) { // >=iOS 7 uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDSsortingng]; } else { //< =iOS6, Use UDID of Device CFUUIDRef uuid = CFUUIDCreate(NULL); //uniqueIdentifier = ( NSString*)CFUUIDCreateString(NULL, uuid);- for non- ARC uniqueIdentifier = ( NSString*)CFBridgingRelease(CFUUIDCreateString(NULL, uuid));// for ARC CFRelease(uuid); } } return uniqueIdentifier; } 

--Note importante ---

UDID et identifierForVendor sont différents: ---

 1.) On uninstalling and reinstalling the app identifierForVendor will change. 2.) The value of identifierForVendor remains the same for all the apps installed from the same vendor on the device. 3.) The value of identifierForVendor also changes for all the apps if any of the app (from same vendor) is reinstalled.