6

したがって、Apple は UDID を使用するアプリを拒否しています。これについてはたくさんの投稿がありますが、OpenUDID を使用するのが良いと書かれている場所が見つかりません。

それで、アップルがこれを承認するかどうか誰かが知っているでしょうか?OpenUDID が UDID としてすべての機能を備えている場合は?

多分誰かがこのアプローチを使用していて、もっと説明できますか?

4

3 に答える 3

5

最も簡単な解決策は、独自の UUID を生成することです。

NSString *UUID() {
    CFUUIDRef cfuuid = CFUUIDCreate(NULL); 
    NSString *uuid =  (__bridge_transfer NSString *)CFUUIDCreateString(NULL, cfuuid); 
    CFRelease(cfuuid);
    return uuid;
}

これをアンインストール/インストールサイクル全体で保持する必要がある場合は、https ://stackoverflow.com/a/11597291/382374 で説明されているようにキーチェーンに入れます。

最良の方法は、これがAppleが推奨する方法です。

幸運を!

于 2012-07-24T06:49:28.983 に答える
1

デバイスの MAC アドレスとバンドル ID のハッシュに基づいて、独自の UDID を作成します。これにより、特定のデバイスでアプリを一意に識別できるようになります。

複数のアプリで一意の ID が必要な場合は、MAC アドレスのみに基づいてハッシュを作成することもできます。

私は実際にこれを行う方法についてブログ投稿を書き、ここにいくつかのサンプルコードを提供しました:

https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid

于 2012-07-24T06:28:16.027 に答える
0

私の知る限り、それは良い方法です。同様に、SecureUDID も同じことを行うものです。OpenUDID を使用すると、アプリを再起動したり、アプリケーションを再インストールしたりしても、UDID は変更されません。しかし、kOpenUDIDDomain や kOpenUDIDSlotPBPrefix などの入力値を変更すると、新しい UDID が生成されます。生成して PasteBoard に格納します。デバイスをリセットしても同じです。私は個人的にこれに投票します。

于 2013-08-08T12:43:23.893 に答える