6

Web ページで iOS デバイスからデバイス UUID を読み取れるようにしたいと考えています。明らかなセキュリティ上の問題で JavaScript を使用できないことは理解していますが、私は毎日testflightを使用しており、デバイス uuid にアクセスできることがわかります。

デバイスを登録するときに、iPhone に一種のプロビジョニング プロファイルをインストールすることで、そうしているようです。

同様のことを行うには、どの種類の証明書/プロビジョニング プロファイルを使用すればよいですか?

その後、デバイスの UUID を Web ページ セッションにリンクできます。これにはユーザーからの承認が必要であることを理解していますが、それは私にとって完全に問題ありません。. コードからデバイス uuid にアクセスできないという事実を回避する方法を見つけようとしているわけではありません

4

1 に答える 1

3

Ok!私は今それを得ると思います。

もちろん、UDID はブラウザから送信されるものではありません。testflightapp は UDID に似た一意の ID を追加するため、Safari のセキュリティ上の欠陥などによって取得されたと確信していましたが、違います。

彼らが実際に行うことは、新しい DeviceID を生成することです (UDID とは関係ありません)。次に、デバイスを登録するために、この DeviceID に対して特別に作成されたプロファイルを生成します。このプロファイルには、testflightapp によって生成されたこの DeviceID を含む URL に対してデバイスを登録する登録ペイロードが含まれます。

この登録プロセスでは、デバイスはプロファイルによって UDID (およびその他のデータ) を送信するよう求められます。これは、プロファイルが要求する情報です。

<array>
    <string>UDID</string>
    <string>IMEI</string>
    <string>ICCID</string>
    <string>VERSION</string>
    <string>PRODUCT</string>
    <string>MODEL</string>
    <string>DEVICE_NAME</string>
</array>

そのため、デバイスが testflightapp サーバーにこのデバイスの登録を要求すると、プロファイルに保存されている DeviceID を現在のデバイスの実際の UDID と関連付けることができます。これが、プロセスが完了したことをブラウザーに表示し、UDID を保持する方法です。

しかし、これでは答えが完成しません。なぜなら、セッションが停止して DeviceID が孤立した場合でも、この Web セッションと UDID を実際に関連付ける方法を (まだ) 解決していないからです。答えは (確認されていませんが、99% 確実です!) 登録プロセスで WebClip を定義して Springboard メニューに挿入できるようです。この WebClip の URL にはデバイスの UDID が記述されているため、この WebClip から testflightapp にアクセスするたびに、UDID 番号をセッションに更新しているため、セッションが停止しても問題ありません。

私の投稿が今役立つことを願っています!未完の誤報で申し訳ありません。

于 2012-03-10T16:24:41.807 に答える