В Интернете можно найти решения до версии 2.0. Один из них выглядит следующим образом:
void *libHandle;
void *airportHandle;
int (*open)(void *);
int (*bind)(void *, NSString *);
int (*close)(void *);
libHandle = dlopen("/System/Library/Frameworks/Preferences.framework/Preferences", RTLD_LAZY);
open = dlsym(libHandle, "Apple80211Open");
bind = dlsym(libHandle, "Apple80211BindToInterface");
close = dlsym(libHandle, "Apple80211Close");
open(&airportHandle);
bind(airportHandle, CFSTR("en0"));
close(&airportHandle);
dlclose(libHandle);
Я не уверен, что доступ к этой платформе запрещен. Но его запуск вызывает EXC_BAD_ACCESS. Так что либо код неправильный, структура изменилась, либо как-то заблокирована. Прости меня за любые очевидные ошибки Objective-C. Я говорю на Objective-C только с четверга, так что моя беглость в Objective-C, вероятно, похожа на прыжок с латиноамериканским оратором в враждебный регион Трансильвании.