iPhone SDKは、現在接続されているWi-Fi SSIDを取得できますか?

StackOverflow https://stackoverflow.com/questions/339089

  •  19-08-2019
  •  | 
  •  

質問

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

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

いくつかのアプリがそれを行うのを見る( AT <!> amp; T 向けの簡単なWi-Fi)ですが、iPhone SDKのドキュメントでその方法を見つけることができません。プライベートまたは非公開の方法は、概念実証として受け入れられます(ただし、AppStoreに到達しない可能性が高いことはわかっていますが)。

役に立ちましたか?

解決

これはキャプティブネットワークAPI

この類似の質問での使用例をご覧ください。

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

他のヒント

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

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

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

このコードを試してください

#import <SystemConfiguration/CaptiveNetwork.h>

CFArrayRef myArray = CNCopySupportedInterfaces();
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
NSDictionary *ssidList = (__bridge NSDictionary*)myDict;
NSString *SSID = [ssidList valueForKey:@"SSID"];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top