2

C または C++ を推奨。これは Objective-C プロジェクトではありません。

SSIDはすでにわかっています。ネットワークに WPA2 セキュリティが適用されている可能性があります。マシンに複数のワイヤレス インターフェイスがある場合、特定のインターフェイス (eth2 など) から参加する必要があります。

さまざまなコマンドライン ツール (この質問への回答で提供されているものなど) があることは認識していますが、マシン上にある場合とない場合がある外部依存関係を実行せずにネットワークに参加したいと考えています。ありがとう。

4

3 に答える 3

2

networksetupツール標準のオペレーティングシステムの一部であるため、マシン上にあります。車輪の再発明をする必要はありません。

于 2012-04-26T15:47:46.777 に答える
1

ターミナルから、これを試してください:

networksetup -setairportnetwork $INTERFACE $SSID $PASSWORD

または、Cocoa/Objective-C アプリに統合する場合:

およびを使用して外部コマンドを実行する方法については、 runCmd( (Mac) シェル スクリプトを実行する Xcode アプリの作成 )のコードを確認してください。NSTaskNSPipe

その場合、次のように呼び出す必要があります。

[self runCmd:@"/usr/sbin/networksetup" 
    withArgs:[[NSArray alloc] initWithObjects:@"-setairportnetwork",
                                              @"INTERFACE",
                                              @"SSID",
                                              @"PASS",
                                              nil]];

しかし、マシン上にあるかどうかにかかわらず、外部依存関係を実行せずにネットワークに参加したいと思います。

それそこにあるでしょう... :-)

于 2012-04-26T16:00:17.270 に答える
1

C では、次のことができます。

execlp("networksetup", "networksetup", "-setairportnetwork", "$INTERFACE", "$SSID", "$PASSWORD", NULL);
于 2012-04-26T16:13:31.417 に答える