Я делаю попытку нескольких методов, пытающихся позволять/запрещать Wi-Fi (переключатель). Вот некоторые вещи, которые я пробую:
//Enable
WiFiManagerClientEnable(WiFiManagerClientCreate(kCFAllocatorDefault, 0));
//Disable
WiFiManagerClientDisable(WiFiManagerClientCreate(kCFAllocatorDefault, 0));
- и -
//Enable
WiFiManagerClientSetProperty(WiFiManagerClientCreate(kCFAllocatorDefault, 0), @"AllowEnable", kCFBooleanTrue);
//Disable
WiFiManagerClientSetProperty(WiFiManagerClientCreate(kCFAllocatorDefault, 0), @"AllowEnable", kCFBooleanFalse);
Каждый из тех заканчивает тем, что разрушил приложение, даже при том, что у меня есть функция исключения (@try {}). Я импортировал MobileWiFi.framework и все, просто наклон, кажется, заставляет это работать. Это корректные методы, которые я должен назвать, чтобы смочь позволить/запретить Wi-Fi?
Примечание: НЕ ДЛЯ APP STORE :-)
notify_post("com.yourcompany.yourapp.yournotification");
#import <SpringBoard/SBWiFiManager.h>
HOOK(SpringBoard, applicationDidFinishLaunching$, void, id app) {
//Listen for events via DARWIN NOTIFICATION CENTER
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL,
&NotificationReceivedCallback, CFSTR("com.yourcompany.yourapp.yournotification"), NULL,
CFNotificationSuspensionBehaviorCoalesce);
}
//THIS IS WHERE THE MAGIC HAPPENS
static void NotificationReceivedCallback(CFNotificationCenterRef center,
void *observer, CFStringRef name,
const void *object, CFDictionaryRef
userInfo)
{
[[objc_getClass("SBWiFiManager") sharedInstance] setWiFiEnabled:NO];
}
Вы не можете отключить Wi-Fi на телефоне. Пользователь несет ответственность за это действие через приложение настроек, эта возможность недоступна через SDK.
-T