iPhone Wi-Fi Manager SDK - PullRequest
       17

iPhone Wi-Fi Manager SDK

8 голосов
/ 13 января 2010

Я пытаюсь несколькими способами включить / отключить 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?

ПРИМЕЧАНИЕ: НЕ ДЛЯ МАГАЗИНА ПРИЛОЖЕНИЯ: -)

Ответы [ 2 ]

8 голосов
/ 28 января 2010

Из приложения

notify_post("com.yourcompany.yourapp.yournotification");

от Dylib

#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];
}
0 голосов
/ 13 января 2010

Вы не можете отключить WiFi на телефоне. Пользователь несет ответственность за это действие через приложение «Настройки», эта функция недоступна через SDK.

-t

...