2016-05-02 19 views
0

iOS 7以降、Apple iOSデバイスで直接UDIDを取得することは不可能です。ios9のUDIDの検索方法

私はappleがUIDevice.currentDevice()を使用することを示唆しています。identifierForVendor?.UUIDString。アプリをアンインストールした後は毎回変更されます。

私はGCMをユーザーに送信したい、ユーザーごとに2〜3個のデバイスがあります。ユニークにデバイスを識別するために私はUDIDが欲しいです。

ex。ユーザーが自分のサーバーのデータベース内に二つのデバイス

を持っている場合、私はこの

ユーザIDのようにそれを格納しています - >>> [email protected]

GCMID - >>> {UDIDForDevice1:GCMTokenForDevice1、UDIDForDevice2: GCMTOkenForDevice2}

+0

ベンダー固有のUDIDは、アプリをアンインストールしても必ずしも変更されません。なぜあなたはUDIDが必要なのでしょうか?ベンダー固有のIDがあなたのために働くのはなぜですか? – nhgrif

+0

私はGCMをユーザーに送信したいと思います。ユーザーごとに2〜3個のデバイスがあります。ユニークにデバイスを識別するために私はUDIDが欲しいです。 –

+0

あなたの*実際の質問は、一人のユーザーで一意のデバイスを特定する方法です。 'vendorSpecificId'がそうしているからです。 – nhgrif

答えて

1

実際にデバイスを識別する場合は、キーチェーンにUUIDを格納します。 How to preserve identifierForVendor in ios after uninstalling ios app on device?を参照してください。

GCMについては、独自の識別形式を使用する代わりに、おそらくInstance ID APIを使用してください。元の質問については


、サイトwww.easy-udid.comはUDIDやその他のデバイス情報を取得するためにOver-the-Air Profile Delivery and Configurationを使用しています。

次の内容でConfiguration Profile plistファイルでqilin.en.mobileconfigファイルへのボタンリンク「私のUDIDを取得」:ユーザーがプロファイルをインストールする

{ 
    "PayloadType":"Profile Service", 
    "PayloadContent":{ 
    "DeviceAttributes":[ 
     "UDID", 
     "VERSION", 
     "PRODUCT", 
     "SERIAL" 
    ], 
    "URL":"http://www.easy-udid.com/retrieve.php" 
    }, 
    ... 
} 

を、UDIDを送信する携帯電話、バージョン、製品番号、シリアル番号を入力してください(http://www.easy-udid.com/retrieve.php)。サーバーは結果をユーザーに表示することができます。

いくつかのサンプル応答については、https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/ConfigurationProfileExamples/ConfigurationProfileExamples.htmlを参照してください。

+0

(ただし、なぜクラウドメッセージングの永続IDが必要なのか疑問に思う).........私はキー値フォーム{deviceID:GCMToken} –

+0

のデータベースにある私のサーバーにGCMトークンを保存しているので問題の例 –

+0

@ParthとにかくインスタンスIDを使用するはずです。アップデートを確認してください。 – kennytm