前回、iPhoneでWifi情報を取得するという記事を書きましたが、記述内容そのままで動作していたものが、iOS4になって以降確認していなかったので、改めて動作確認したところ、取得出来ていないことが判明したため、追記することにしました。
内容はほぼ前回と同じ内容ですが、apple80211Scan()関数を付け加えWifiカードにネットワークのスキャンをさせなければ情報が取得されないようです。
apple80211Scan(エアポートの場所, 情報保存場所, スキャン設定情報)
な感じのパラメータらしいです。
NSDictionary *nsparam
= [NSDictionary dictionaryWithObjectsAndKeys(id)kCFBooleanFalse,CFSTR("SCAN_MERGE"),nil];
CFDictionaryRef parameters = (CFDictionaryRef)nsparam;
apple80211Scan(airportHandle, &networks, parameters);
上記を追記すればiPhone4での動作も確認しました。
ついでにapple80211Close(airportHandle)で閉じます。
登録:
コメントの投稿 (Atom)
すいません、初心者で質問です。
wifiの情報をiPhone端末で表示させたいのですが、MobileWiFi.frameworkは必要でしょうか?
フレームワークの追加に無かったのでお尋ねしました。
お時間ありましたら、ご回答宜しくお願い致します。
gen
>genさん
WiFiManagerが必要になります。
予想ですが、MobileWiFiはテザリングなどに使われるものではないかと。
これは、Appleの審査には通るものでしょうか?
プライベートAPIのような気がするので、
審査は通らない気がするのですが、間違っていますか?
>栗城さん
今となっては審査は通らないし,
そもそもMobileWifi自体がiOS5から利用できなくなりました.