(iOS 7のリリース)以降、PC / MacでiTunesを使用せずにUDIDを取得する方法はありますか?


80

私は自分の会社向けのアプリを開発しており、iPadを会社のiOS Dev Centerアカウントに追加することで、人々をゆっくりと「ベータ」に移行させるプロセスを進めています。そこから、ローカルイントラネット配布用のアドホックビルドを実行します。

私の最後のギグでは、「自分のUDIDを見つけて」アプリのいずれかにユーザーを誘導し、見つかったUDIDを送ってもらうようにしました。

iOS 7はこれを遮断しました。これらのアプリはすべてなくなり、まだ持っている場合は、UDIDとは関係のないGUIDが返されます。

だから私がしなければならないのは、これらのそれぞれを私のMacに接続し、iTunesからUDIDを取得することです。これは一種の面倒です(ただし、iTunesから取得する方法を説明しようとするよりも面倒ではありません。それもインストールしてください)。また、Macと同期しようとすることもありますが、これは、デバイスに不要なプロビジョニングプロファイルを設定する以外の効果はないようです。そして、少なくとも一度iPadを持っていたので、突然iOS6からiOS7にアップグレードすることにしましたが、これはプラグインに関連しているかどうかはわかりません(この場合、ユーザーはアップグレードを望んでいませんでした)。

では、iPadからUDIDを取得する方法は、マシンに接続する以外にありますか?

明確にするために私はアプリでUDIDを取得しようとしているのではなく、配布用の開発者プロファイルのデバイスリストにUDIDを追加する最も簡単な方法を考えているだけです。


whatsmyudid.com:D言うことができます、AppStoreでUDIDアプリをダウンロードして、私に電子メールを送ってください。あなたは...他の選択肢を持っていない
ヨルダンモンテル

1
@JordanMontelはクールなサイトですが、ルック/フィールと一致しなくなった古いバージョンのiTunesを使用しており、copyコマンドはMacを実行していることを前提としています。また、iOS 7以降、UDIDアプリは有効なUDIDを提供しなくなりました
Tom Kidd 2013

2
そうそう、iOS 7では...アプリから送信されるUDIDはFFFFで始まることを覚えています...したがって、ユニークな解決策は、デバイスをiTunesに接続することです:s
ジョーダンモンテル2013

私は同じ船に乗っています-私は複数のクライアント向けのアプリを開発していますが、UDIDをメールで送ってもらうことができない場合、Appleが社内テスト用のデバイスを追加することをどのように期待しているかわかりません!
ソフトウェアは

2
TestFlightは、構成プロファイルを使用して、iOS7デバイスでこれをなんとかして実現しています。それがどのように機能しているかを調べるかもしれません。
Jesse Rusak 2013

回答:


74

これが私の研究結果です:

Appleは、iOS 7以降のすべてのパブリックAPIからUDIDを非表示にしました。FFFFで始まるUDIDは、偽のIDです。以前は機能していた「SendUDID」アプリを使用して、テストデバイスのUDIDを収集することはできなくなりました。(はぁ!)

UDIDは、デバイスが(オーガナイザーで)XCodeに接続されているとき、およびデバイスがiTunesに接続されているときに表示されます(ただし、識別子を表示するには[シリアル番号]をクリックする必要があります。

デバイスのUDIDを取得してプロビジョニングプロファイルに追加する必要があり、XCodeでそれを自分で行うことができない場合は、iTunesからコピーして貼り付ける手順を説明する必要があります。

更新-サーバーでmobileconfigファイルをホストすることにより、テストユーザーがデバイスのUDIDを提供できるようにするスクリプトベースのアプローチについては、以下のokiharaherbstの回答を参照してください。


200
Appleが開発者を嫌っていると感じたことはありますか?
ryan0 2013

15
「iTunesからコピーして貼り付ける手順を説明する必要があります」。このウェブサイトは少し役立つかもしれません:whatsmyudid.com
ギヨームアルギス

完全に答え。私がUDIDを持っているユーザーの半分は偽のユーザーであり、それらは私の開発アプリをインストールできない人々です
ventedder 2013年

この問題についてお持ちの場合は、アップルのドキュメントリンクを追加してください。
Praveenkumar 2014年

2
値を右クリックすると、値をコピーできます(Windowsバージョンのitunes-Macバージョンについては不明)
ソフトウェア

103

iOSデバイスのSafariからhttp://get.udid.io/に移動します。それは魅力のように機能し、iTunesや他のコンピュータを必要としません。アプリもインストールされていません。

編集:

また、(当然のことながら)この.mobileconfig証明書を自分のサーバーでホストしたい場合は、.mobileconfigからデバイスUDID取得するを参照してください。

自分で作る:

サーバーでホストされている.mobileconfigの例のコピーを用意し、次のフローを処理するために、お気に入りの言語で2〜3個の小さなスクリプトを記述します。

  1. Safariで、以下のenroll.mobileconfigにリダイレクトするURLに移動します。これにより、iOSは設定アプリを開き、プロファイルを表示します。
  2. プロファイルを受け入れると、iOSはSafariに戻り、DeviceAttributes配列を指定されたURLenroll.mobileconfigに送信します。
  3. POSTデータには、要求された属性を持つ.plistファイルが含まれます(以下の例を参照)。そのうちの1つは聖なるUDIDになります。

備考:おそらく、ユーザーフレンドリーなメッセージがいくつかあるはずです。具体的には、ステップ0もあります。このステップでは、HTTPセッションに一時的に保存する名前と電子メールをユーザーに提供してから、要求をmobileconfigプロファイルにリダイレクトするように求められます。最終的にこの情報をiPhoneデータと照合し、わかりやすい確認メールを送信します。HTH。

enroll.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>

iPhoneによって指定されたURLにPOSTされたサンプル.plist

<?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>

1
私は知っています、そしてあなた自身/クライアントが使用するために同様のサービスを設定することはほんの数回のクリックの問題です。
VH-NZZ

9
このサイトは、サイトの所有者がデータにアクセスできるようにするプロファイルサービスをインストールするため、使用しないでください。
チェックリスト

1
@チェックリスト:同意しません。2つのこと、1つのコメントと1つのコメント:1番目。上記の私の編集を参照してください。プライバシーの問題。2番目。あなたのiPhoneなしであなたのUUIDは何が良いですか?備考プロファイルは「サイト所有者がデータにアクセスできるようにする」ものではなく、インストールされたままになることもありません。詳細を教えていただけますか?コメント:UUIDを取得する簡単な方法がある場合は、聞いています。UUIDが電子メールに送受信されるのではないかと心配している場合は、SSLを介して独自のサービスをホストしてください。サイドノートとして:iTunesにiPhoneを差し込むこともアップルにデータを送信する(そしておそらくN $と@)。
VH-NZZ 2014

4
こんにちは。データをAppleに送信することと、未知のWebサイトに送信することには違いがあります。プロファイルをデバイスにインストールすると、データが傍受される可能性があるため、多くの警告があります。私はそれをしません。
チェックリスト

3
@checklist:ネットに投稿したものを何でも書くことには正当な懸念があります。繰り返しになりますが、その便利なサービスの使用に不安がある場合は、それがFINEです。答えの編集部分はあなた自身を作る方法をあなたに教えます、それであなたが持っているかもしれないどんな心配もその単純さを保ちながら取り除きます。HTH。
VH-NZZ 2014

17

これが役立つことを願っています:

  1. iPhoneをMACに接続します(私はこれをWindowsで試しませんでした)
  2. 左上隅にあるAppleのロゴをクリックし、[このMacについて]を選択します
  3. 概要]タブ> [システムレポート
  4. 左の列のハードウェア> USB >
  5. 次に、右側のペインでiPhoneを選択します
  6. 下のペイン->「シリアル番号

->そしてそのシリアル番号はUDIDです


さて、それが私がStackOverflowを愛する理由です:)この素晴らしいソリューションをありがとう。
Jean Le Moignan 2016

1
シリアル番号をクリックすると、UDID
Vishal

14

Linuxを実行しているユーザーがいる場合は、ターミナルからこれを使用できます。

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

これにより、接続されているUSBデバイスのすべての情報が取得され、次の2行を含む「AppleInc」の行が印刷されます。

結果は次のようになります。

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

これはiOS5-> iOS7でうまくいきましたが、iOS4デバイスでは試していません。

IMOこれは、私が見つけたWin / Mac / Browserソリューションよりも高速であり、「ソフトウェア」のインストールは必要ありません。


1
「iSerial」== UDIDであることを確認できますか?
ソフトウェアは

私はこれをAppleの開発センターのUDIDとして使用して、開発プロビジョニングプロファイルを適切に作成してきました。
共謀2014年

1
Winでこのようなことをする方法はありますか?
Nicolas Barbulesco 2014

5

TestFlightは、ユーザーがサインアップするとUDIDを抽出できるようです。

https://testflightapp.com


1
私はこれを2番目にします。今のところ、TestFlightが唯一の方法です。
Blazor 2013年

やらなければいけないことは何 ?これはiOS7.1で動作しますか?TestFlightがUDIDを取得するために機能しなくなったことを読みました。
Nicolas Barbulesco 2014

4

iPhone構成ユーティリティを使用してUDIDを読み取り、開発アプリをインストールしています。iOS7でも正常に動作します


1
最初の質問では、iTunesを使用しないと述べていましたが、実際には「デバイスを手元に置いたり、ユーザーにAppleソフトウェアをインストールさせたりせずにUDIDを取得する方法はありますか?」そして、この答えはそのテストに失敗します
ソフトウェアは

私はこのソリューションが好きです。Windowsでの管理が必要ですか?
Nicolas Barbulesco 2014

残念ながら、iPhone構成ユーティリティ3.6.2をWindowsにインストールするには、Windows管理者が必要です。あなたはPCの管理者でなければならない理由セットされたiPhoneアップ...ツールを使用するように私に聞かないでください
ニコラBarbulesco

3

プラグを差し込んで、コマンドラインからこれを実行します。

system_profiler SPUSBDataType

探す:

Serial Number: xxxx

1
涼しい!私はこのソリューションが大好きです。ありがとうございました。私はいくつかの追加のawkを:簡単にスキャン可能なリストを生成するために最後にsystem_profiler SPUSBDataType | awk '/:$/{sub(/^ */,"");name=$0}/Serial Number:/{id=$3;print name,id}'
トッド・リーマン

いいね。しかし、この答えにはもっと詳細が必要です。どこに接続しますか?私はいくつかの考えを持っています... ;-)
ニコラスバルブレスコ2015年

2

testflightapp.comアカウントを作成してもらいます。

これはベータテストに非常に役立ちます-これはあなたが監査を必要としているものだと私は推測しています。

アプリへのダウンロードリンク(ページ下部の権限タップにあります)を送信すると、udidがまだ検証されていないことが通知されます。それは彼らに彼らのudidを伝えます!彼らはこれをコピーして貼り付け、あなたにテキストで送ることができます。


2

それを処理するための良い方法を見つけました:アプリをtestFlight.comに追加し、UDIDが必要なユーザーにリンクを提供します。「デバイスのUDID:xxxxxxが登録されていません」というエラーメッセージが表示され、UDIDが正しいものになります。


1

このオンラインツールhttp://www.easy-udid.comをお試しください。さまざまなiOSデバイス(iOS 6および7)でテストしましたが、正常に動作します。開発者のプロファイルに顧客のUDIDをすばやく追加するための便利なツール


2
しかし、このサイトは私に「プロファイル」をインストールするように求めています。そしてiOSは、これを行うと設定が変更されると警告します。私はそれが好きではありません。
Nicolas Barbulesco 2014

1

テスターからUDIDを取得するには、テストフライトを使用してください。ただし、信頼できないソース(http://get.udid.io/など)は使用しないでください。

1.テストフライトのWebページから電子メールでテスターを招待します。テスターは電子メールでリンクを開き、テストフライトからプロファイルをインストールします。したがって、開発者はテストフライトのWebページでUDIDを取得できます。2.これらのUDIDをAppleプロビジョニングポータルに追加します。

(参照:http//help.testflightapp.com/customer/portal/articles/829537-how-does-it-work-

このプロセスでは、テスターがMac / PCを使用してUDIDを取得する必要はありません(より便利です)。そして、テスト飛行は信頼できる会社だと思います(UDIDをこの会社に渡すときは心配ありません)。

私はこの方法をテストしました、そしてそれはiOS8で動作します。


1
有害なudid.ioですか?
Ivanka Todorova 2015

1

iTunesを使用せずにiPhoneとiPadからUDIDを見つける手順

  1. iPhoneまたはiPadで以下のリンクを開きます:-http: //get.udid.io/

  2. ボタンの緑色をクリックします-タップしてUDIDを検索します

  3. UDIDが表示されたら、右上の[インストール]ボタンをクリックします

4。UDIDが表示されますUDIDをコピーします。


0

iTunesが唯一の答えのように見えると思いますが、それは非常に残念です。


答えを読みましたか?システム情報、iphone構成ユーティリティ、get.udid.io Webページ、およびオーガナイザー、testflight .....
LightMan 2013

0

または、ここで私のソリューションを使用してくださいwww.my-mo.co.uk/device/deviceinfo.phpを使用すると、UDIDにアクセスして、選択した人に電子メールで送信できます。


1
将来の皆さん、このソリューションはiOS7.1で機能します。
Nicolas Barbulesco 2014

1
確かに、またはこのドメインを使用して同じ機能にアクセスできますwww.my-udid.com
Alex McPherson

残念な。このソリューションはもう機能しません。アドレスにエラーが表示されます:404、見つかりません。
Nicolas Barbulesco 2015

0

Macを使用している場合は、「このMacについて」から入手できる「システムレポート」からUUIDを取得できます。デバイスを接続した状態で、USBセクションを開き、iPhoneをクリックします。UUIDは「シリアル番号」の下に表示されます


0

diawi.comは私のために働いており、iPhoneをケーブルなどで接続する必要はありません。プロビジョニングプロファイルをインストールするための[マイデバイス]タブに従って、UDIDを表示し、電子メールで送信するオプションを追加してください。


-3

デバイスのブラウザでudid.ioを使用するiToolsをインストールしてデバイスを接続し、正しいUDIDを取得してください。

アダーシュEM


2
「あなたがテスターやモバイルアプリの開発者、あるいはそのような人であることを願っています。」えーと、不快感はありませんが、そのサイトはちょっと怪しげに見え、署名されていないプロビジョニングプロファイルは正確には快適ではありません。彼らがどのようにUDIDを取得しているかわからないことは言うまでもありません
Tom Kidd

ジェイルブレイクされていない場合、デバイスから実際のUDIDを取得するためのサイトまたはツールの承認されたメカニズムはなくなりました。私は別の
ソフトウェア

@Schnappleこのサイトは、通常MDMで使用される(ただし、TestFlightなどのサービスでも使用される)構成プロファイルを利用してUDIDを取得します。符号なしの部分については同意しますが、それ以外は問題ありません。アプリ内からではなく、iOSデバイスからUDIDを取得することもできます。UDIDはまだMDMで広く使用されています。
calrion 2013年

1
モバイルデバイス管理(MDM)システムについて調査しました。APIドキュメントはエンタープライズ開発者にのみリリースされますが、UDIDを取得するメカニズムをサポートすることが報告されているため、以前のステートメント(「デバイスから実際のUDIDを取得するサイトまたはツールの承認されたメカニズムはもうありません」)間違っている。
ソフトウェアは

iTools?Mac OS 9が戻ってきましたか?:-)
Nicolas Barbulesco 2014

-4

ios7にはidentifierForVendorを使用できます。

-(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;
}

- 重要な注意点 - -

UDIDとidentifierForVendorは異なります:---

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.

2
アプリ内でデバイスを識別するための何かを取得するつもりはありません。アドホックプロビジョニングプロファイルにデバイスを追加する目的で、デバイス自体以外のものを使用せずにUDIDを取得する方法を探しています。iOSデバイスをコンピュータに直接同期しない人が増えています。デバイスはそれ自体を更新したり、iCloud経由で設定を同期したりできます。また、iTunesと同期すると、すべてが台無しになることがあります。答えは「いいえ」のようです
トムキッド

そのすべてをiPhoneに入力しますか?^^どこ?それは私に私のUDIDを与えますか?この答えは質問に答えていないと思います:iPhoneのUDIDを取得するにはどうすればよいですか?
ニコラスバルブレスコ2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.