2015-07-10 3 views
8

Как мне заняться созданием беспроводной сети adhoc с указанным SSID и паролем на OS X? Я попытался взглянуть на страницу networksetup, но не придумал ничего для этого. Есть ли другая команда, которую я должен использовать?Программно создайте Ad-Hoc-сеть OS X

+0

Просто FYI, если ваш Wi-Fi использует WPA или WPA2, сети от компьютера к компьютеру не совместимы с защищенными WPA или WPA2 сетями. – user3439894

ответ

1

я не нашел реальный способ сделать это, кроме как написать Swift сценарий:

import Foundation 
import CoreWLAN 

var networkName = "foo"; 
var password = "bar"; 
var error: NSError? 

let iface = CWWiFiClient.sharedWiFiClient().interface() 

let success = iface.startIBSSModeWithSSID(
    networkName.dataUsingEncoding(NSUTF8StringEncoding), 
    security: CWIBSSModeSecurity.WEP104, 
    channel: 11, 
    password: password as String, 
    error: &error 
) 

if !success { 
    println(error?.localizedDescription) 
} else { 
    NSRunLoop.currentRunLoop().run() 
} 
0

Если вы не настроились на использование командной строки, вы можете выполнить инструкции here, которые настраивают сеть ad-hoc только с использованием системных настроек> совместное использование> Общий доступ к Интернету. Внутри этой вкладки вы можете настроить свою ad-hoc сеть и указать SSID и т. Д. Конечно, это очень рудиментарный способ ее настройки, но он довольно удобен для пользователя, но не дает вам возможности установить это с помощью терминала. С помощью команды networksetup в терминале вы использовали networksetup -printcommands или networksetup -help? Это дает дополнительную информацию, так как нет справочной страницы.

Я не знаком, но дополнительно были найдены ссылки на использовании startHostAPModeWithSSID команды here или с помощью команды /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -i за этого server fault entry

+0

К сожалению, это нужно делать прогаматично. Я просмотрел команды networksetup и не могу найти ничего, что сработает. После нескольких часов исследований единственный вариант, который я могу придумать, делает это с использованием основы CoreWLAN и написания сценария Objective-C/Swift. Даже после попытки сделать это я получаю ошибки, которые почти заставляют меня думать, что есть ошибка в рамках ... Я буду стучать головой о стену в среднем –

+0

Пробовали ли вы использовать Automator для записи рабочий процесс и воспроизвести его и/или сохранить его как Apple Script? Я сейчас работаю над созданием ad-hoc сети с двумя системами OS X, и, похоже, я скоро обновлю свой результат. – bern

+0

Я не буду тестировать ad-hoc до утра, но я нашел это на [ошибке сервера] (http://serverfault.com/questions/49732/setup-ad-hoc-wifi-from -terminal-in-os-x), который, похоже, связан с вопросом, он не полностью отвечает на ваш вопрос, но он использует команду аэропорта в сочетании с networksetup. – bern

2

в OSX 10.10, я должен был изменить @ DAN-Ramos «ы код:

import Foundation 
import CoreWLAN 

var networkName = "foo" 
var password = "bar" 

if let iface = CWWiFiClient.sharedWiFiClient().interface() { 
    do { 
     try iface.startIBSSModeWithSSID(
      networkName.dataUsingEncoding(NSUTF8StringEncoding)!, 
      security: CWIBSSModeSecurity.WEP104, 
      channel: 11, 
      password: password as String 
     ) 
     print("Success") 
    } catch let error as NSError { 
     print("Error", error) 
     exit(1) 
    } 
} else { 
    print("Invalid interface") 
    exit(1) 
} 
+0

Я упаковал это для других, чтобы использовать: https: // github .com/hildjj/adhocnet –

Смежные вопросы