質問: MACのアプリ開発です。 associateToNetwork(CWNetwork *)network、 password:(NSString *) で任意のAPへ接続できそうなのですが、アクセスポイント(AP)のパスワード(WEP keyなど)はMACのシステムが覚えているだけで、 アプリは知らないという状況では利用できなさそうです。 MACのシステムが保存している情報(APのSSIDとパスワード)で再接続する方法が知りたいです。 環境 xcode 7.0 macos osx 10 swift >追記 MACのシステムには接続済みのAPの情報(SSIDやパスワードなど)はプロファイルという単位で保存されている模様。 そのプロファイルを使って接続できれば解決しそうな気がしますが、やり方が不明。
回答: ◎協力的仮説回答 ●コメントへの返辞: >ご案内いただいたサイトにあるパスワードの再確認の方法のことでしょうか。 いえ、すみません。Wi-Fi がらみの Macの仕様について多くの事が載っていました(特にワイヤレスネットワークでのキーチェーンアクセスの独特な振る舞い・Appleさんの禁止要項的な部分も...)。あくまで(正しい回答に関連する可能性を感じたので)他の読者様も対象にした、参考文献のご紹介です。非純粋回答でした。 >すみません。私の質問のタイトルの文面が誤解のもとのようで恐縮なのですが、パスワードを忘れてしまって、なんとか再度パスワードを知り得たいうことではないのです。 はい。それは上述の「質問者様の最初の回答者様へのコメント」で、およそは見当がついておりました。質問者様に「すみません」と言わせてしまい、申し訳ありませんでした。 >接続中のAPに対して、自作アプリから一度切断したあと、また自作アプリから自動的にそのAPに再接続させる方法が知りたいという旨になります。※パスワードはMACのシステムが記憶しているはずなので。自作アプリのユーザが再入力する必要はないんじゃないかと思って。 解りやすい概略文、ありがとうございます。(素人の私や、似たスキルの読者にも、よく意図が見えます。) つまり『自由に指示指定したAPのSSID+パスワードをシステム(キーチェーン)から抜き出し、それを自動で再適応させ再接続させられるコードは書けないだろうか?やり方を教えて?』という主旨に(勉強不足の)私の場合は、今のスキルで受け取れました。 ●協力的仮説回答: 私の勘で恐縮ですが、ご存知のように、ありがちな「何らかの理由で Apple が公的にソレを禁止している系」の場合、例えば:Daisy Disk・Disk Drill Pro・OnyX のような『スタンドアローン版 プログラム』の類(App Store で売る事が禁止されているモノ)は、システムの制約を無視して単独でシステムの深淵までデータ解析できる「非公式のアルゴリズム的なモノ」を持っていて、アルゴリズムじゃないけど、例えば OnyX の「隠しファイルの視覚化」ボタンなどは、プログラマーにとって、調査・確認・実行テスト などに重宝している可能性が高いと思います。 同様に、質問者様のご質問は、ひょっとすると『システム制約の無効化』が必須である可能性が高いと思われます。その証拠に、最初のベテラン回答者様は、肝心なポイントを当該サイトで明確には示しておりません。よって、ベテラン回答者様たちに、オープンでない手段で、尋ねてみると、 https://developer.apple.com/documentation/security/keychain_services の中に『システム制約の無効化』が可能な部分があり、自己責任で「不可能を可能に」できるヒントが隠されている可能性が高いと、私は勘で思いました。以上です。 ●余談: swift を使われているそうですが、スマホのアプリではなさそうですね、目指すモノは。私も Xcode 好きです。無料でスゴイよね。私は主に JAVA が好きです。C言語系は、似てるから楽です。マイクロソフト オフィス を自動化させるモノもC言語系ですよね。会社で散々エクセル用のプログラムを作って仕事していましいた。 ちなみに、Mac & Win 用の優秀すぎて、もはや使えなくなった某アプリがあるんですよ。概略は、システムの奥まで、スクリプト言語を一切使用せず、何もかも、操作手順をRecし、それを簡単にGUIで編集し、メンドイ作業は全て、Finder でも、通常のマクロが効かないアドビさんのアプリでも、マウスカーソルの座標がショートカット化できるし、プログラミンングでも、『メンドイ作業は全て』自動化できてオモロイですよ。アプリの切り替えも自動ゆえ、同じ事のループさえ簡単に誰でも組め、実行後は、人間は誤作動を起こさぬよう、CPU が猛烈な速さで仕事するのを見守るだけです。これが面白いんよ〜〜。OS X 10.7.5 までOSより活躍するマクロソフトの一種でした。どのOSメーカーも脅威を感じて当然のレベルゆえ『臭いものには蓋』となりました。...というウワサ... (個人的な洞察では)福祉目的の「アクセシビリティー(使い易さ)」が今存在するけど、あれが「ふた」じゃなかろうか?・・・ ●追補: 質問者様も含め、コレを見ている詳しそうな方、私の曖昧な回答には、率直にツッコミを入れて頂けると、それだけで公益になりますから、遠慮なく『指摘』= to point out, を是非おねがい致します。『指摘』とは to attack, to criticize [非難する] ではありませんし、もし「少し助けてやろうか...」と思った場合に限り...是非に...。もちろん粘着的に絡まない事も大事な社会性だと個人的には思っています。 If it's all right with you, whould you please point out my mistakes? Thank you for reading. ^ ^