2013-01-10 6 views
5

可能性の重複を検出:
Detecting Color of iPhone/iPod touch?は、iPhone/iPodのの色

は、iPhone/iPodのの色を検出することで、すべてのことが可能です - のいずれかのネイティブまたはモバイルブラウザで?

私は、Webアプリケーションをデバイスの色に対応させたいデザイナーと協力しています。

enter image description here

+1

これはかなりクールな機能になります。あなたが必死になったら、ユーザーがオプションでそれを選んでもらいましょう。 :) – Almo

+1

これは経験的なテストが必要ですが、IMEIが電話の色を示す可能性があります – KevinDTimm

+1

これは実際にはきちんとした考えです。 Heh。 – ceejayoz

答えて

0

このために露出APIはありません。

アップルに追加したい場合は、http://bugreporter.apple.comに拡張要求を提出する必要があります。

5

私はこれが可能ではないと思います。内部ハードウェア(すべてのコンポーネントとコンポーネント自体を保持している「マザーボード」)は、最終ケーシングについての知識なしに製造されています。同じことがソフトウェア(ファームウェアとiOS)にも当てはまります。すべてのデバイスは、ファームウェアに埋め込まれている可能性のあるシリアル番号を除いて、全く同じソフトウェアの同等のコピーを1バイト分のバイトで取得するからです。 Appleがさまざまな筐体に異なるデバイスシリアル番号範囲を使用しているかもしれませんが、これは単なる野生の推測です。

車を建てるのと同じです:最終的な車にどのような色を塗るかにかかわらず、すべてのコンポーネント(エンジン、電子機器など)は同じように製造されます。実際には、車は完全に組み立てられ、すべてのハードウェアとすべてのソフトウェアは、それが色塗装される前に使用する準備ができています。最後の2分の1までは最終的な決定方法を変更する可能性があります。


UPDATE

私はこのトピックに関するいくつかのより多くの調査を行なったし、私は「野生の憶測は」私がすることを想定して、野生ではないことが分かりました。 Appleがさまざまなデバイスカラーに異なるシリアル番号の範囲を使用しているようです。シリアル番号(およびiPhoneのIMEIのような同様の番号)は、製造される各デバイスごとに異なるデバイスファームウェアの唯一の部分です。

Appleは(これは最新残っているかどうかわからないが、それはiPhone 4のためにまだ最新だった)、過去に以下のシリアル番号フォーマットを使用:

AABCCDDDEEE 

AA = ID of the factory that manufactured the device. 
    B = Year of production: 8=>2008, 9=>2009, 0=>2010, 1=>2011, etc. 
CC = Week number of the year. 
DDD = Production index number, is reset every week, base-34 encoded. 
EEE = Model ID. 

興味深い値は "モデルID"です。同じデバイスの世代は、色と使用可能なストレージの量によって異なるモデルIDを持ちます。

考えられるすべての値の完全なリストは見つかりませんでした。そのような完全なリストがあったとしても、アップルは常に新しいモデルをリリースしているので、あなたはそれを最新の状態に保つ必要があるという問題が残っているので、少なくとも2ヶ月(少なくとも1年に1回または2回)。私がこれまでに現在のiPodの世代のために任意のサンプル値を発見していない

VR0: iPhone 2G Silver 4GB 
WH8: iPhone 2G Silver 8GB 
0KH: iPhone 2G Silver 16GB 
Y7H: iPhone 3G Black 8GB 
Y7K: iPhone 3G Black 16GB 
3NP: iPhone 3GS Black 16GB 
3NR: iPhone 3GS Black 32GB 
3NQ: iPhone 3Gs White 16GB 
3NS: iPhone 3Gs White 32GB 
A4S: iPhone 4 Black 16GB 
A4T: iPhone 4 Black 32GB 

:ここにシリアル番号(EEE)の最後の3桁のためのいくつかのサンプル値です。

+3

これは当てはまりません。 iTunesとXcodeは、通常、デバイスの色を正しく表示するので、少なくともUSB経由では読み取りが可能です。 – grahamparks

+1

@grahamparksそれから、実際にはAppleが異なるシリアル番号の範囲を使用している可能性があります。これらの範囲が変わるたびに、更新された範囲データベースでiTunesのアップデートをリリースするだけなので、これは問題ありません。あなた自身のアプリケーションのためのこの種のデータベースを作成することは、あなたがそれを最新の状態に保つのに苦労するので、おそらく良い考えではありません。 – Mecki

-1

あなたが言っていることをする方法はありません...しかし、色を取得する方法はたくさんありますが、UIPickerViewを作成し、そこに使用可能な色を追加してユーザーが選択することができます。