2016-01-02 2 views
1

Я хочу подключиться к сети Wi-Fi, используя Python для OS X (10.11). Основываясь на CWInterface reference, я понял, что существует метод iface.associateToNetwork_password_error_(), однако, когда он называется, он не подключается к сети и не вызывает никаких исключений.Как подключиться к сети Wi-Fi с использованием Python на OS X?

В то же время iface.disassociate() работает правильно и отключает WiFi.

Это код, который я попробовал:

import objc 

objc.loadBundle('CoreWLAN', 
     bundle_path='/System/Library/Frameworks/CoreWLAN.framework', 
     module_globals=globals()) 

iface = CWInterface.interface() 

iface.associateToNetwork_password_error_(SSID, PASSWORD, None) 

Как я могу подключиться к указанной сети с Python на OS X и убедитесь, что было установлено соединение?

+0

Что такое 'SSID'? Мне кажется, что этот метод принимает «CWNetwork» в качестве своего первого параметра, но насколько я могу судить, у вас нет экземпляра одного, чтобы дать ему. – ArtOfWarfare

ответ

2

я смог успешно подключиться к домашней сети со следующими:

import objc 

objc.loadBundle('CoreWLAN', 
       bundle_path = '/System/Library/Frameworks/CoreWLAN.framework', 
       module_globals = globals()) 

iface = CWInterface.interface() 

networks, error = iface.scanForNetworksWithName_error_('<Name Of Network>', None) 

network = networks.anyObject() 

success, error = iface.associateToNetwork_password_error_(network, '<Password Of Network>', None) 

Два ключевых вещей, которые я подозреваю, что вы пропали без вести:

  1. Вы не проходили в CWNetwork, как ваш первый параметр.
  2. Вы не проверяли возвращаемые значения (IE, success и error в последнем вызове). Возможно, они могли бы помочь вам отслеживать любые другие проблемы.