2011-07-22 13 views
4

AndroidおよびiOS用のAdobe AIRアプリケーション(iPad用)でユーザーのデバイスのネットワークアダプタのMACアドレスを取得しようとしています2)。iOS用のAdobe AIRで一意の識別子(MACアドレス、UDIDなど)を取得

Androidでは正しく動作しますが、iOSでは正しく動作しません。これは私が使用しているコードです:

var vNetworkInterfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces(); 

for each (var networkInterface:NetworkInterface in vNetworkInterfaces) { 
    trace(networkInterface.hardwareAddress); 
} 

これは、Androidで動作しますが、findInterfacesを実行しようとすると、iOSの中で、私は)(これを取得:

エラー#1009:のプロパティまたはメソッドにアクセスすることはできませんnullのオブジェクト参照

iOSではnetworkInfo.findInterfaces()が実装されていないようです。そこに任意のですだから、NetworkInfoが

のiOS

でサポートされていないようだのiPad 2に

NetworkInfo.isSupported

そして、それの値は、Androidに真であるが、偽:私はの値を取得しようとしましたデバイスの一意の識別子を取得するためにiOSで他の方法ですか? (MACである必要はなく、ユーザーのデバイスを一意に識別したい)

答えて

3

実際には、iOSでもMACアドレスを取得する方法があります。):Getting NetworkInfo from both Android and iOS

+0

私はあなたが掲示した例で与えられたコードを使用しようとしています。私が(com.adobe.nativeExtensions.Networkinfo.NetworkInfo) 'NetworkInfo.networkInfo.findInterfaces()'を呼び出すと、nullオブジェクトに対してメソッドを呼び出そうとしていると言われますが、実際にNetworkInfo.networkInfoをテストすると、ヌル。はい、ネイティブエクステンションNetworkInfoを使用しています。 – WORMSS

+2

リンクはもう機能しませんが、ここにネイティブ拡張を使用するための情報があります:http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/networkinfo.html – Pier

0

独自のランダムなUIDを作成し、デバイスに保存します。

アプリが起動するたびに、すでにUIDを生成して保存していて、上書きしないようにしてください。

+0

あなたの答えをありがとう。はい、それは私がやっていることです。ランダムなコードを生成することは今のところ唯一の選択肢のようです。 – OMA

+1

これも関連する可能性があります:http://venturebeat.com/2011/08/23/ios-5-udid-privacy/ – Breign

+0

しかし、ユーザーがiosデバイスからアプリを削除すると、UUIDが削除されます。ユーザーがアプリを再インストールするときに、UUIDはアプリを初めてインストールするときと同じにする必要があります。 – Evaristoyok

関連する問題