Y a-t-il un moyen depuis (la version de iOS 7) d'obtenir L'UDID sans utiliser iTunes sur un PC/Mac?
je développe une application pour mon entreprise et nous traversons le processus de laisser les gens entrer dans la" bêta " en ajoutant leurs iPads sur les comptes iOS Dev Center de l'entreprise. À partir de là, nous réalisons un montage ad hoc pour la distribution locale sur L'Intranet.
à mon dernier concert, je dirigeais les gens vers une de ces applications "trouve mon UDID pour moi", puis je leur demandais de m'envoyer l'UDID qu'il avait trouvé.
iOS 7 a coupé cela - ces applications sont toutes parties maintenant et si vous en avez encore un, il renvoie une instruction qui n'a rien à voir avec L'UDID.
donc ce que je dois faire est de connecter chacune de ces choses à mon Mac, puis d'obtenir L'UDID de iTunes, qui est un peu un tracas (mais moins fastidieux que d'essayer de leur expliquer comment l'obtenir de iTunes, en supposant qu'ils ont même installé). Et parfois il essaie de se synchroniser avec mon Mac, ce qui ne semble pas avoir d'effet autre que de mettre sur les profils d'approvisionnement que je ne veux pas sur le appareil. Et au moins une fois que j'ai eu un iPad juste soudainement décider de se mettre à niveau de iOS 6 à iOS 7 qui je ne suis pas sûr est lié à être branché (et dans ce cas, l'utilisateur ne voulait pas qu'il soit mis à niveau).
alors y a-t-il un autre moyen d'obtenir L'UDID à partir de l'iPad que de le brancher sur une machine?
pour être clair: Je n'essaie pas d'obtenir L'UDID dans une application, j'essaie juste de penser à la manière la plus rapide pour obtenir le UDID à ajouter à la liste des périphériques dans notre profil de développeur pour distribution.
18 réponses
Voici les résultats de mes recherches:
Apple a caché L'UDID de tous les API publiques, à commencer par iOS 7. Tout UDID qui commence par FFFF est une fausse carte D'identité. Les applications" Envoyer UDID " qui fonctionnaient auparavant ne peuvent plus être utilisées pour rassembler UDID pour les périphériques de test. (soupir!)
L'UDID est indiqué lorsqu'un périphérique est connecté à XCode (l'organisateur), et lorsque l'appareil est connecté à iTunes (si vous cliquez sur "Numéro de Série" pour obtenir le Identificateur à afficher.
si vous avez besoin d'obtenir L'UDID pour un périphérique à ajouter à un profil de provisioning, et ne peut pas le faire vous-même dans XCode, vous devrez les guider à travers les étapes pour le copier/coller à partir d'iTunes.
mise à JOUR -- voir okiharaherbst la réponse de ci-dessous un script de base pour permettre aux utilisateurs de test afin de vous fournir avec leur appareil avec leur udid par l'organisation d'une mobileconfig fichier sur un serveur
naviguez vers http://get.udid.io / de Safari sur votre appareil iOS. Il fonctionne comme un charme et ne nécessite ni iTunes ni aucun autre ordinateur. Aucune application installée.
EDIT:
aussi, jeter un oeil à obtenir un appareil UDID à partir .mobileconfig si vous (naturellement) préféreriez avoir ceci .certificat mobileconfig hébergé sur un de vos serveurs.
FAIRE VOTRE PROPRE:
Avoir une copie de l' .mobileconfig exemple hébergés sur votre serveur et écrire 2-3 petits scripts dans votre langue préférée pour gérer le flux suivant:
- naviguez sur Safari vers une URL redirigeant vers enroll.mobileconfig ci-dessous. Cela permet à iOS d'ouvrir les paramètres de L'application et de montrer le profil.
- en acceptant le profil, iOS switches retour pour Safari et poste le tableau DeviceAttributes à L'URL spécifiée enroll.mobileconfig.
- Le POST de données contiendra un .fichier plist avec les attributs (voir exemple ci-dessous). Dont l'un 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 leur nom et adresse e-mail que nous conservons temporairement dans la session HTTP et ensuite rediriger la requête vers le profil mobileconfig. Nous avons finalement faire correspondre cette information avec les données iPhone et envoyer un e-mail de confirmation amical. HTH.
s'inscrire.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">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<dict>
<key>URL</key>
<string>http://support.devcorp.com/uuid/returnurl/</string>
<key>DeviceAttributes</key>
<array>
<string>DEVICE_NAME</string>
<string>UDID</string>
<string>PRODUCT</string>
<string>VERSION</string>
<string>SERIAL</string>
</array>
</dict>
<key>PayloadOrganization</key>
<string>DevCorp Inc.</string>
<key>PayloadDisplayName</key>
<string>Profile Service</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadUUID</key>
<string>C5FB9D0D-0BE7-4F98-82CC-5D0EA74F8CF8</string> <!-- any random UUID -->
<key>PayloadIdentifier</key>
<string>com.devcorp.profile-service</string>
<key>PayloadDescription</key>
<string>This is a temporary profile to enroll your device for ad-hoc app distribution</string>
<key>PayloadType</key>
<string>Profile Service</string>
</dict>
</plist>
de l'échantillon .plist Posté par l'iPhone à L'URL
<?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>PRODUCT</key>
<string>iPhone4,1</string>
<key>SERIAL</key>
<string>DNPGWR2VCTC0</string>
<key>UDID</key>
<string>b01ea7bc2237fed21bfe403c6d2b942ddb3c12c3</string>
<key>VERSION</key>
<string>11A465</string>
</dict>
Espère que cela aiderait:
- Connectez votre iPhone à votre MAC (Je n'ai pas essayé avec windows)
- cliquez sur logo D'Apple dans le coin supérieur gauche > sélectionnez à propos de ce Mac
- Dans vue d'ensemble de l'onglet > Rapport Système
- Matériel dans la colonne de gauche > USB >
- puis sur le panneau de droite sélectionner iPhone
- dans la partie inférieure - > " numéro de série "
- > et ce numéro de série est UDID
si l'un de vos utilisateurs utilise linux, il peut l'utiliser à partir d'un terminal:
lsusb -v 2> /dev/null | grep -e "Apple Inc" -A 2
cela obtient toutes les informations pour vos périphériques usb connectés et imprime des lignes avec" Apple Inc " y compris les 2 prochaines lignes.
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 quel Win / Mac / Browser solution que j'ai trouvé et ne nécessite aucune installation "logicielle".
TestFlight semble être en mesure d'extraire l'UDID une fois l'utilisateur inscrit:
j'ai utilisé L'utilitaire de Configuration iPhone pour lire les UDIDs et installer l'application de développement. Fonctionne encore très 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 testflightapp.com compte.
c'est très utile pour les tests bêta - ce qui, je suppose, est ce que vous avez besoin des udids pour.
vous pouvez leur envoyer un lien de téléchargement vers votre application (trouvé dans les permissions tap en bas de la page) et il leur indiquera que leur udid n'a pas encore été validé. Il leur dira alors leur udid! Ils peuvent copier et coller ce texte et vous.
a trouvé une bonne façon de le gérer: Ajouter l'application testFlight.com et donnez le lien à l'utilisateur que vous voulez son UDID. Il verra un message d'erreur disant "votre périphérique UDID: xxxxxx n'est pas enregistré" et L'UDID sera le bon.
essayez cet outil en ligne http://www.easy-udid.com . Je l'ai testé sur différents appareils iOS (iOS 6 et 7) et il fonctionne très bien. Outil de poignée pour ajouter rapidement L'UDID du client dans le profil du développeur
s'il vous Plaît utiliser vol d'essai pour obtenir de l'UDID de testeurs, mais pas à l'aide de source non fiable, par exemple, http://get.udid.io/
vous pouvez 1. Invitez les testeurs dans le courriel de la page Web de vol d'essai. Testeurs ouvrez le lien dans l'email et installez un profil de test flight. Par conséquent, les développeurs peuvent obtenir des UDID sur la page Web de vol d'essai. 2. Ajoutez ces UDIDs 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 des testeurs D'utiliser Mac/ PC pour obtenir UDID (plus pratique). Et je pense que test flight est une compagnie à qui on peut faire confiance (pas de soucis en passant UDID à cette compagnie).
j'ai testé cette méthode et elle fonctionne sur iOS 8.
étapes pour trouver L'UDID de L'IPhone et de L'IPad sans utiliser itunes ""
-
ouvrir le lien ci-dessous dans votre iPhone ou iPad: - http://get.udid.io/
-
cliquez sur le bouton vert color-Tap pour trouver UDID
-
Obtenir votre UDID Apparaît, Cliquez sur le côté droit en haut le bouton INSTALLER
4 . UDID apparaîtra copier L'UDID.
iTunes semble être la seule réponse, ce qui est extrêmement regrettable.
ou utilisez ma solution ici www.my-mo.co.uk/device/deviceinfo.php vous permettra D'accéder à UDID et de l'envoyer par e-mail à qui vous le souhaitez.
si vous utilisez un mac, vous pouvez obtenir L'UUID du" Rapport système "disponible sur" À propos de ce Mac."Avec le périphérique attaché, ouvrez la section USB et cliquez sur iPhone. L'UUID apparaît sous" Numéro de série "
diawi.com a travaillé pour moi, pas besoin de connecter iPhone avec le câble ou etc: il suffit de suivre leur onglet "Mon périphérique" qui vous mènera à installer leur profil de fourniture, puis afficher L'UDID et ajouter l'option de l'envoyer par e-mail.
please use udid.io dans votre navigateur d'appareil ou s'il vous plaît installer iTools et connecter l'appareil pour obtenir l'UDID correcte.
Adarsh E M
Nous pouvons utiliser identifierForVendor pour ios7,
-(NSString*)uniqueIDForDevice
{
NSString* uniqueIdentifier = nil;
if( [UIDevice instancesRespondToSelector:@selector(identifierForVendor)] ) { // >=iOS 7
uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} 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.