80 votes

Est-il possible depuis iOS 7 communiqué) pour obtenir l'UDID sans l'aide d'iTunes sur un PC/Mac?

Je suis le développement d'une application pour mon entreprise et nous allons à travers le processus de lentement de laisser les gens dans la "bêta" en ajoutant leur ipad pour la société de l'iOS Dev Center comptes. À partir de là, nous ne ad hoc de construire pour l'Intranet local de distribution.

Lors de mon dernier concert, je dirige les gens vers l'un de ces "trouver mon UDID pour moi" apps, puis les amener à m'envoyer l'UDID il a trouvé.

iOS 7 a coupé ce hors - ces applications sont tous partis maintenant et si vous n'avez toujours avoir un, il retourne quelques GUID qui n'a rien à voir avec l'UDID.

Donc ce que je vais avoir à faire est de connecter chacune de ces choses à mon Mac, puis obtenir l'UDID à partir d'iTunes, qui est un genre de soucis (mais moins fastidieux que d'essayer d'expliquer comment l'obtenir à partir d'iTunes, en supposant même qu'ils l'ont installé). Et parfois, il essaie de se synchroniser avec mon Mac, ce qui ne semble pas avoir d'autre effet que de mettre sur les profils de configuration je ne veux pas sur l'appareil. Et au moins une fois, j'ai eu un iPad juste soudainement décider de se mettre à niveau à partir d'iOS 6 à iOS 7 dont je ne suis pas sûr, c'est lié à être branché (et dans ce cas, l'utilisateur n'a pas voulu la mise à jour).

Donc, il y a un autre moyen de recevoir l'UDID de l'iPad d'autre que de le brancher sur une machine?

POUR ÊTRE CLAIR: je n'essaie pas d'obtenir l'UDID dans une application, je suis juste en train de penser de la façon la plus rapide de l'UDID à ajouter à la liste des appareils dans notre profil de développeur pour la distribution.

102voto

okiharaherbst Points 1850

Accédez à http://get.udid.io/ à partir de Safari sur votre appareil iOS. Il fonctionne comme un charme et ne nécessite ni iTunes, ni n'importe quel autre ordinateur. Aucune application installée.

EDIT:

Aussi, jetez un oeil à l'Obtention d'un appareil UDID .mobileconfig si vous (à juste titre) serait plutôt à ce .mobileconfig certificat hébergé sur un serveur de la vôtre.

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:

  1. Naviguer sur Safari pour une URL de redirection à s'inscrire.mobileconfig ci-dessous. Cela rend iOS ouvrez l'application Paramètres et afficher le profil.
  2. Lors de l'acceptation du profil, iOS passe Safari et des postes le DeviceAttributes tableau à l'URL spécifiée s'inscrire.mobileconfig.
  3. Les données POST contiendra un .fichier plist avec les attributs (voir exemple ci-dessous). Dont l'un sera le saint-UDID.

Remarque: Vous devez probablement avoir quelques convivial messages. 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 stocker temporairement dans la session HTTP et puis rediriger la demande vers le mobileconfig profil. Nous avons finalement correspondre à cette info avec l'iPhone de données et envoie un amical e-mail de confirmation. 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 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">
<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>

73voto

software evolved Points 2125

Voici mes résultats de la recherche:

Apple a caché le UDID de toutes les Api publiques, à partir de l'iOS 7. Tout UDID qui commence avec FFFF est une fausse carte d'identité. "Envoyer UDID" apps qui a travaillé auparavant ne peut plus être utilisé pour recueillir des UDID pour les dispositifs 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 l'Identifiant de l'affichage.

Si vous avez besoin pour obtenir l'UDID d'un périphérique à ajouter à un profil de configuration, et ne pouvez pas le faire vous-même dans XCode, vous aurez à marcher dans les démarches de le copier/coller à partir d'iTunes.

Mise à JOUR -- voir okiharaherbst la réponse ci-dessous pour 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

13voto

complistic Points 699

Si l'un de vos utilisateurs linux en cours d'exécution, ils peuvent les utiliser à partir d'un terminal:

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

Ceci permet d'obtenir les 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...

Ce qui a fonctionné pour moi sur iOS5 -> iOS7, je n'ai pas essayé sur tout iOS4 appareils.

IMO c'est plus rapide que tout Win/Mac/Navigateur solution que j'ai trouvé et ne nécessite pas de "logiciel" de l'installation.

5voto

dazhi Points 143

TestFlight semble être en mesure d'extraire l'UDID une fois que l'utilisateur signes:

https://testflightapp.com

4voto

Jerry Points 51

J'ai été en utilisant l'Utilitaire de Configuration iPhone pour lire de la avec leur udid et installer l'application de Développement. Fonctionne toujours très bien sur iOS7

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X