私のアプリは、デバイスの電話番号を使用して、ユーザーの連絡先に関する意味のある情報を取得します。Android と iOS で動作します。
電話では、ユーザーの一意の識別子として 10 桁の (国コードなしの) 電話番号を使用するだけです。これは Android シミュレーター (独自の無効な番号を持つ) でも機能しますが、iPhone シミュレーターは空白の番号を返します (このケースは簡単に無視できます)。
次に、非電話デバイスでのテストに取り掛かりました。連絡先は引き続き利用できますが、電話番号はありません。簡単な方法は、iOS で UDID を使用し、Android で同等のものを使用することです。ただし、解決する必要がある2つの問題があります。
UDID は均一ではありません。10 文字のキーが必要です。衝突を避けて n 文字を 10 文字にハッシュする方法はありますか? (私は非常に低い確率の衝突で生きることができます)
さらに大きな問題: Apple が iOS 5 の時点で UDID アクセスをブロックしていることを読みました。10 文字のキーを維持する必要がある場合、代わりに何を使用すればよいでしょうか?
御時間ありがとうございます。