6

これを読んで時間と関心を持ってくれて、うまくいけば私を助けてくれてありがとう。

IOSの一意のユーザー識別子が必要です。一意のユーザー識別子とは、Appleが提供する一意の文字列であり、デバイスではなくユーザーに一意です。つまり、デバイス間で同じままです。私はAppleIDかそのようなものについて考えましたが、Appleがそれを提供していないので(少なくとも私が知っていることではないので)それは不可能ですが、私はそれに似たものが欲しいです。

(非推奨になる以外に)デバイス間で永続的ではないため、UDIDにすることはできません。ユーザーがログインしたりサインアップしたりせずに、ユーザーを認証するためにこれが必要です。一部のアプリはそうするので、そうすることは可能です。他のデバイスでログインなどはしませんでしたが、認証されました。Apple IDだと思っていたのですが、それはできません。

私はこの答えをチェックしました:iOSの一意のユーザー識別子。そして、それは解決策かもしれないようですが、それがすべての新しいユーザーにどのように固有であるかがわかりません(複数のユーザーと同じユーザーを区別することができますが、別のデバイス)。

これを読んで助けようとしている人々に本当に感謝しています。ありがとうございました

PD:AppleのIOS SDKなどではなく、TitaniumのAppceleratorを使用しています。しかし、それはそれほど重要ではありません。TitaniumのAppceleratorでそれを実行できるようにするプロセスを取得したいだけです。

PS:注:注:

答えてくれてありがとう!何度も読んだのですが、聞き取れません。私がそれをもう少しよく理解するのを手伝ってくれませんか?

私が理解しているのはこれです。

1.-UUIDを作成します(インストールごとに変更されます)2.-デフォルトのサービス(私が知る限り、キーチェーンに保存された値はデバイスにローカルです)でそれをキーチェーンに保存しますアプリケーションのid-com.bla.bla-)であり、デフォルトのアカウントでもあるので、「ユーザー」のままにしておくと思います。

これはすべてローカルであるため、すべてのインストールでこれが実行され、インストールごとに異なるUUIDが使用されます(ユーザーごとに必要ではありません)。3.-UUIDをNSUserDefaultsに保存します。4.-UUIDをクラウドのパブリックデータストアに保存します(クラウドのデータストア、キーチェーン、NSUserDefaultsのUUIDは同じである必要があります)

したがって、5つのインストールを実行する場合、クラウドのパブリックデータストアは次のようになります。

An Array of 5 values:
[
XXXX-EEEEE-FFFFF,
SFSDFFWE-WERW-SDFS,
XXXX-XXXXX-XXXXX,
ZZZZZ-ZZZZ-ZZZZX,
XZXZZX-ZXZXZXS-ADADS
]

5.-これはすべて、アプリケーションを実行するたびに実行され、パブリッククラウドストアに値が保存されているかどうかを最初に確認します。ここで私は混乱していますが、別のデバイスがどのUUIDがあなたのものであるかをどのように知るのでしょうか?つまり、選択する5つの異なるUUIDがあります。おそらく、パブリックデータストアではなくプライベートデータストアに保存されることになっていますが、そのためには、各ユーザーも識別する必要があります。これは私がとても混乱するところです。

UUIDが設定されていない場合は、最後の4つの手順を実行します。

それで、私は5番目のステップで混乱します、ほとんどの人はそれ以上の説明なしでその解決策を理解します、それで私は何かが機能する方法、多分クラウドサービスについて無知でなければなりませんか?問題は、iCloudがどのように機能するのか、そしてiCloudがその値をどのように保存するのかを理解していないことだと思います。アプリを実行しているXの5番目(乱数、2番目または2000番目の可能性があります)のデバイスが、UUID XXX ...がユーザーXのUUIDであり、ユーザーのUUIDではないことをどのように認識しているかわかりません。 Z。

とても早く答えてくれてありがとう、多分私は数分ではなく、数日待たなければならないと思いました。私の無知を許してください、私はこの問題についての一種の初心者ですが、私は学びたいです。この問題に何日も立ち往生している

4

2 に答える 2

2

あなたが言及した答えは、ユーザーを識別する正しい方法です。解決策は、UDID(一意のデバイスID)ではなく、UUID(一意のユーザーID)と呼ばれるそのIDの値を保存することです。

もちろん、開発者としてのこれの唯一の欠点は、ユーザーがアプリを削除して再度インストールし、別のIDを使用できることです。

于 2012-07-02T19:28:46.580 に答える
2

ダニエルが言ったように、UUIDはユーザーを識別する正しい方法です。これを追加したいだけです。あなたが言った

私はそれがすべての新しいユーザーにどのようにユニークであるかわかりません

さて、このウィキペディアの記事によると:

ランダムに生成されたUUIDには122個のランダムビットがあります...次の100年間毎秒10億のUUIDを生成した後でのみ、重複を1つだけ作成する確率は約50%になります。地球上のすべての人が6億のUUIDを所有している場合、1つの重複の確率は約50%になります。

したがって、UUIDが各ユーザーに一意であると確信できます。

さらに、MACアドレスは、イーサネットカードのMACアドレス、タイムスタンプ、およびその他のさまざまな情報に基づいています。これにより、スーパーユーザーに関するこの質問によると、UUIDの一意性が増します。

[MACアドレス]はかなり一意です。

  • 最初の3オクテットはメーカーを定義します。
  • 最後の3オクテットは通常、PROMの書き込み時に生成されます。これをどのように行うかはメーカー次第です。

それは明らかにメーカーごとに16,777,215の可能な一意のMACアドレスを与えます。それはかなり多いので、メーカーはそれを再利用するべきではありません。

したがって、基本的に、UUIDはMACアドレスに追加の一意性を追加します。

要約すると、あなたの意図と目的のために、UUIDは完璧でしょう。

お役に立てれば!

于 2012-07-02T19:35:18.087 に答える