13

iPhone SDK ではSCDynamicStore、ワイヤレス ネットワークが現在接続されている SSID 名を取得するために Mac OS X で使用されているのと同じものは使用できません。

iPhone が現在接続されている SSID 名を取得する方法はありますか?

いくつかのアプリがそれを行っているのを見ます ( 1 つは AT&T の Easy Wi-Fi です)。プライベートまたは非公開の方法は、概念実証としてのみ受け入れられます (ただし、AppStore に到達しない可能性が高いことはわかっています)。

4

3 に答える 3

18

これは、キャプティブ ネットワーク APIを介して可能になりました (iOS 4.1 以降) 。

この類似の質問で使用方法の例を参照してください。

これはプライベート API ではありません。

于 2012-06-13T10:29:57.657 に答える
6

掘り下げた後、これに対するアンサーを見つけました。Preferences フレームワークには未公開の API があります。この例については、Google Code でホストされているStumbler コードを参照してください。

#5814810 の重複としてマークされたレーダー (#6407431/ OpenRadar バージョン) を Apple に提出しました。これを正式にサポートしたい場合は、bugreport.apple.comでレーダーも提出してください。

更新: 上記の Stumbler コードは、1.x リビ​​ジョンの iPhone OS SDK 用です。iPhone OS 2.0 以降の場合、開発者は PrivateFrameworks/Apple80211.Framework とそれが意味するすべてを調べる必要があります。

于 2008-12-17T21:15:13.247 に答える
4

このコードを試して、

#import <SystemConfiguration/CaptiveNetwork.h>

CFArrayRef myArray = CNCopySupportedInterfaces();
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
NSDictionary *ssidList = (__bridge NSDictionary*)myDict;
NSString *SSID = [ssidList valueForKey:@"SSID"];
于 2014-11-28T15:23:32.920 に答える