web-dev-qa-db-ja.com

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

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

私の最後のギグでは、人々にそれらの「私のUDIDを見つけてください」アプリの1つに案内し、それから見つけたUDIDを送ってもらいます。

iOS 7はこれを打ち切りました-それらのアプリはすべてなくなっており、まだ持っている場合は、UDIDとは関係のないGUIDを返します。

だから、私がしなければならないのは、これらの各ものを私のMacに接続してから、iTunesからUDIDを取得することです。これは面倒です(ただし、iTunesでもインストールされています)。そして時々、それは私のMacと同期しようとしますが、それは私がデバイス上に望まないプロビジョニングプロファイルを置く以外の効果を持たないようです。そして少なくとも一度、iPadを突然iOS 6からiOS 7にアップグレードすることを決めたが、これはプラグインに関連しているかどうかわからない(この場合、ユーザーはアップグレードを望まなかった)。

IPadからUDIDを取得する他の方法はありますか?

TO BE CLEAR:アプリでUDIDを取得しようとはしていません。開発者プロファイルのデバイスリストにUDIDを追加する最も簡単な方法を考えています。分布。

79
Tom Kidd

私の研究結果は次のとおりです。

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

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

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

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

72

IOSデバイスのSafariから http://get.udid.io/ に移動します。チャームのように機能し、iTunesも他のコンピューターも必要ありません。アプリもインストールされていません。

編集:

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

自分で作る:

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

  1. Safariで、以下のenroll.mobileconfigにリダイレクトするURLに移動します。これにより、iOSは設定アプリを開き、プロファイルを表示します。
  2. プロファイルが受け入れられると、iOSはSafariに戻り、DeviceAttributes配列をenroll.mobileconfigで指定されたURLにポストします。
  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>

サンプルの.plistは、iPhoneによって指定されたURLにPOSTされます

<?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>
102
VH-NZZ

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

  1. IPhoneをMAC(Windowsで試しなかった)
  2. 左上のAppleのロゴをクリックし、このMacについてを選択します
  3. 概要タブ> システムレポート
  4. ハードウェア左の列に> USB>
  5. 次に、右側のペインでiPhoneを選択します
  6. 下部ペイン-> "シリアル番号

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

15
Chatrapathy

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

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

これは、接続されたUSBデバイスのすべての情報を取得し、次の2行を含む「Apple Inc」の行を印刷します。

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

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

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

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

13
complistic

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

https://testflightapp.com

5
dazhi

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

4
Jerry

プラグインし、コマンドラインからこれを実行します:

system_profiler SPUSBDataType

探す:

Serial Number: xxxx
3
Chris

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

2
Loves2Develop

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

これはベータテストに非常に便利です-私が推測しているのは、あなたがudidを必要としていることです。

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

2
maxhud

テストフライトを使用してテスターからUDIDを取得しますが、信頼できないソースは使用しません。 http://get.udid.io/

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

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

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

この方法をテストしましたが、iOS 8で動作します。

1
oOEric

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

1
Rollins dev4mob

ITunesを使用せずにIPhoneとIPadからUDIDを見つける手順

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

  2. ボタンの緑色をクリックします-タップしてUDIDを見つけます

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

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

1
Ullas Kumar

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

0
Tad

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

0
Yizhar

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

0
Alex McPherson

ITunesが唯一の答えだと思うが、これは非常に残念なことだ。

0
CBanga