awkman / pywifi

A cross-platform module for manipulating WiFi devices.
MIT License
447 stars 154 forks source link

OS-X Support #24

Open wonderkun opened 6 years ago

wonderkun commented 6 years ago

how to support mac os system?
Is there some advice ?

awkman commented 6 years ago

@wonderkun you can refer to https://github.com/awkman/pywifi/blob/macos_dev/pywifi/_wifiutil_macos.py

I have implemented the basic functions in the macos_dev branch Because the connection flow of MacOS is different to Windows and Linux, I haven't finished the whole implementation for MacOS. (I will try to borrow one macbook to continue this task...)

benbendemo commented 5 years ago

@awkman I have used your _wifiutil_macos.py module to implement,firstly got this error "TypeError: descriptor 'encode' requires a 'str' object but received a 'objc.pyobjc_unicode'".

image

after translate unicode type to str type by using "params.ssid.encode('utf-8')",above typeerror seemed to be fixed,i don't know if it's the correct method.

image

but soon i got this problem as below.

image image

after searched in google,i found out the "NSData" and "CWMutableNetworkProfile" are objective-c's functions,it's difficult for me to locate the cause.

could you offer some advice?

Zeal-Zhu commented 5 years ago

I got the same error as you. Did you solve it eventually?@benbendemo

Jietu20190525-210113

benbendemo commented 5 years ago

@Zeal-Zhu I didn't work it out.

davidchern commented 4 years ago

Well, in line 105 of file _wifiutil_macos.py, there is one typo causing this error:

profile.setSsidData_(ssid_bytes)

It needs to be modified into:

profile.setSsidData_(ssid_data)

This will fix the error.

And hopefully this bugfix can be merged into that code. @awkman

benbendemo commented 4 years ago

Well, in line 105 of file _wifiutil_macos.py, there is one typo causing this error:

profile.setSsidData_(ssid_bytes)

It needs to be modified into:

profile.setSsidData_(ssid_data)

This will fix the error.

And hopefully this bugfix can be merged into that code. @awkman

Thanks for your mention, it solved the problem.

sitz commented 1 year ago

Bump on this issue.

I stumbled across this project to use for a python script to work with wifi on Mac but pip package doesn't support that it seems. It seems like some work was done for Mac support in macos_dev - but wasn't merged into main.

@awkman - Can I help somewhere to get that done if there is interest in maintaining this project?