2011-08-03 13 views
20

iPhoneをリセットすると、デバイスIDは変わりません。デバイストークンと同じですか?デバイストークンはデバイスIDと同じユニークですか?

+1

[1] [SOにこの質問]を見てください[1]:http://stackoverflow.com/questions/3726107/what-is-the-difference-between-iphone- device-udid-iphone-device-id-and-iphone-d – Maggie

+0

一般に、UDIDはどのような目的にも使用しないでください。 – Maggie

+0

誰かがiPhoneをリセットした場合、デバイストークンは変更されますか?それともUDIDからリンゴによって生成されていますか? –

答えて

21

が、私はこのような場合はあなたがそのような

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 

ような方法が利用可能なデバイストークンを参照していると仮定し、その後、いや、できトークンデバイスはを変更します。デバイストークンを要求し、プロバイダにアプリケーションが起動するたびにそれを渡すことで、りんごLocal and Push Notification Programming Guide

より引用

、あなたはプロバイダがデバイスの現在のトークンがあることを確認するのに役立ちます。ユーザーがバックアップを作成したデバイス以外のデバイスにバックアップを復元した場合(たとえば、ユーザーが新しいデバイスにデータを移行する場合)は、少なくとも1回はアプリケーションを起動して再度通知を受信する必要があります。ユーザーがバックアップデータを新しいデバイスに復元するか、オペレーティングシステムを再インストールすると、デバイストークンが変更されます。さらに、デバイストークンをキャッシュして、それをプロバイダに渡すことはありません。あなたがそれを必要なときにいつでも私は私の通知プロバイダとしてUrban Airshipを使用して、私が唯一の今まで、これまで単一のテストデバイスを使用しているにもかかわらず、多数のデバイスがあるように私もこの動作を確認することができます

システムからトークンを取得私のアカウントに登録されたトークン。

+0

「デバイストークンをキャッシュしてプロバイダに渡すことはありません。必要なときにいつでもシステムからトークンを取得できます」というのは、デバイストークンはどこから手に入りますか?ローカルに保存して、トークンが元のトークンと異なるかどうかを確認する必要があります(Rayswenderichはこのチュートリアルでこのメソッドを使用します)。 – OMGPOP

+0

その引用は、Appleのローカルおよびプッシュ通知プログラミングガイドから直接取られています。単にあなたのアプリを起動するたびにアップルに問い合わせて、それをあなたのプッシュプロバイダーに送るだけです。 –

1

デバイストークンは一意のIDですが、変更されます。

関連する問題