49

デバイスの IMEI 番号を取得する方法を見つける必要がありiPhoneます。この質問は重複していません。

SOを含むいくつかのフォーラムを調べましたが、答えが見つかりませんでした。

IMEIApple は開発者が番号を見ることを許可していないと言う人もいれば( SO 投稿UDID)、代わりに使用するように言う人もいます( SO 投稿)。それは廃止されたと言う人もいますUDID(iOS 7で)。

次のことを知る必要があります。

1.)開発者がデバイスの番号Appleを取得することを許可していますか?IMEI

2.) どうすればプログラムでそれを行うことができますか?

3.) 開発者が番号を収集することを Apple が許可しない場合、開発者IMEIはそのデバイスに固有の番号を他に提供しますか?

4.) を使用することを提案する人もいますTelephony framework。その場合、Apple は私の申請を拒否しますか?

4

5 に答える 5

75

Apple は、デバイスを識別することを許可しなくなりました。

UDIDMAC アドレス、およびその他すべてのデバイス識別子は、Apple によってアクセスまたは許可されなくなりました。

Apple は、UUID (自分自身を格納する必要があります) または のいずれかを使用することをお勧めしますidentifierForVendor advertisingIdentifier

advertisingIdentifierApple は現在、 を使用し、広告アプリを表示しないアプリも拒否しています。

IMEI 番号を取得する手段はすべてプライベート メソッドを使用していますが、これも Apple では許可されていません。このため、モバイルアプリは拒否される可能性があります。

于 2013-11-12T11:00:51.873 に答える
16

残念ながら、常に同じままであるデバイスの一意の識別子を取得する方法はありません。Apple は、UDID へのアクセスを許可しなくなりました。iOS 7 では、すべてのデバイスの MAC アドレスが同じ値を返すため、これも役に立たなくなりました。

ただし、iOS では、デバイスの識別に使用できる 2 種類の識別子にアクセスできるようになりました。彼らです:

  1. ベンダー ID - [UIDevice identifierForVendor]. これは、同じベンダーまたは会社のすべてのアプリで同じ一意の識別子です。ユーザーのデバイスにベンダーのアプリが少なくとも 1 つインストールされている限り、これは変わりません。したがって、3 つのアプリがある場合、ユーザーが 3 つのアプリをすべてアンインストールしてから再インストールしない限り、ベンダー ID は同じままです。アプリが 1 つしかない場合、これはあまり役に立ちません。ユーザーがアプリを削除してから再インストールすると、アプリが変更されます。

  2. 広告主 ID - [UIDevice advertisingIdentifier]。これは、広告目的の一意の識別子です。しかし、広告以外の目的で使用する場合、ほとんどの場合、彼らは気にしません。ほとんどの場合、ユーザーがアプリを削除して再インストールしても、広告 ID は変更されません。ただし、iOS の設定には、広告 ID をリセットするオプションがあり、それによって広告 ID が変更されます。これは、ユーザーが自分について収集された広告情報から自分自身を切り離すことを選択できることを意味します。しかし、これは非常に高度な設定であり、多くのユーザーが頻繁にこれを行って問題になるとは思えません。

于 2013-11-12T11:07:53.963 に答える
6

プライベート フレームワークを使用して IMEI を取得できます - この質問を参照してください。ただし、おそらくアプリはアプリ ストアから拒否されます。

アプリケーションで使用するデバイス識別子を取得する場合は、UIDevice クラスで定義された uniqueIdentifier プロパティを使用する必要があります

(iOS 6.0 以降で利用可能):

NSString *UDID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
于 2013-11-12T11:03:56.237 に答える
0

IMEI を取得したい場合、方法はありません (ジェイルブレイクされていないデバイスでは)。ユーザーを特定したい場合は、この回答をご覧ください。変更されたため、iOS7 より前に書かれたすべてのドキュメント/回答に注意してください。

于 2013-11-12T11:04:58.777 に答える