[AIR3][ANE][iOS] ネットワーク状況の変化を通知してくれるNative Extension

Categorie:{ AIR, Native Extention, Objective-C } Tag:{, , , } Comments:{ No Comments }
Posted:{ 2011.12.27 04:22:59 }

ios ane memo

ネットワーク状況変化(3G,Wi-Fi,未接続)をシンプルに通知してくれる、Air Native Extension (iOS用)を作ってみました。

C 側のソースコードは、下記のサイトで公開されているライブラリを利用させて頂きました。(ありがたや)
Cocoaの日々: [iOS] ネットワーク接続状況取得ライブラリを公開

Download

itoz/ANE_NetworkStatus – GitHubhttps://github.com/itoz/ANE_NetworkStatus

※僕自身、Obj-C経験少ないので、いいカスタマイズコードにはなっていないかもしれません、、
※ツッコミなどあったらよろしくお願いします。

構成

NetworkStatus_iOS/ (Cライブラリ用)
NetworkStatus_Lib/ (ane作成用)
NetworkStatusAppiOS/ (AIRアプリ用)

です。

使い方

.aファイルを作り、aneをコンパイルしたあと、AIR側でaneの設定をひと通りすませて、

_networkStatus = new NetworkStatus();
_networkStatus.addEventListener(StatusEvent.STATUS, onNetworkStatusEvent);
 
function onNetworkStatusEvent(event : StatusEvent) : void{
    trace(event.code);
    //CONNECTED_NON
    //CONNECTED_WIFI 
    //CONNECTED_3G
}

上記のようにインスタンスを作りイベントをリスナーすると、ネットワーク状況変化時に
eventのcodeプロパティに、状態を表す文字列が渡ってきます。

※.aneファイル自体の作成はANEttyを使うと便利!

その他

AdobeのサイトでもiOS用 ANE のNetworkInfoクラスを公開しておりこちらを利用しても同じようなことができる(?)かと思いますが、「もっとシンプルに、3G,Wi-Fi,未接続のみの変化状況が知りたい」という時に使えると思います。
※上記のANEだと、例えばwi-fiの場合はInterface Nameに en0 en1といった値が返ってきますので、それで判断します。(obj-Cの標準仕様かな?)

[追記]
ANE-LABにもコミットしました。
ane-lab – AIR Native Extension is Lab codes – Google Project Hosting

関連記事

Comment


レンタルサーバー豆知識