ソースには2種類のプログラムが含まれている。1つは Mac用アプリ。起動するとオンラインとオフラインの切替ができるウィンドウが表示される。
この Macアプリはオフライン指定をすると NSNetService を起動する。オンラインにすると停止する。
このツールを利用するプログラム側では付属の Reachability.m/h をプロジェクトへ組み込み、このAPIを通じてオンライン状況を取得する。元々は Appleが提供していたソースに手を入れたもののようだ。DEBUGシンボルを定義してビルドしておくと、実行時に NSNetServiceBrowser を使い所定のサービスを探しに行く。先ほど説明したようにオフライン時にはサービスが起動していて見つかる。この時 Reachability内部ではオフライン扱いにする。サービスが停止すれば今度はオンライン扱いとなる。こんな感じで Macのアプリでオンライン/オフラインが簡単に切り替えられる。
Macアプリと NSNetServiceを通じて連携させるアイディアが面白い。応用していろいろできそう。
0 件のコメント:
コメントを投稿