2011-01-28 5 views
3

WiFiManager 프레임 워크 (이전에 apple80211)에 액세스하려고하는데 올바른 정보를 찾을 수 없습니다. 나는 애플이 앱 스토어에있는 앱을위한 비공개 프레임 워크의 사용을 허용하지 않는다는 것을 이해하지만 개인적인 용도로이 앱을 쓰고있다. 그래서 이것은 나에게 전혀 문제가되지 않는다. 내가 알아야 할 것은 여전히 ​​내 휴대 전화에 직접 업로드하는 앱의 WiFiManager 프레임 워크에 액세스 할 수 있으며 방법에 대한 정보가 있습니까? 모든 도움에 미리 감사드립니다.WiFiManager 프레임 워크 iOS에 어떻게 액세스 할 수 있습니까?

답변

5

내 대답을 참조하십시오. here.

//IN YOUR APP 
notify_post("com.yourcompany.yourapp.yournotification"); 

//IN YOUR 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

빠른 응답 주셔서 감사합니다. SpringBoard 프레임 워크는 ios 4.2 sdk에 내장되어 있습니까? 아니면 제 3 자입니까? 또한 NotificationReceivedCallback 함수가 호출되면 액세스 할 수 있고 사용할 수있는 객체 (SBWiFiManager)가 있거나 프레임 워크에 대한 액세스 만 허용하는 C 함수입니다. – SteveWight

+0

SpringBoard는 프레임 워크가 아닙니다. 핵심 서비스입니다. SBWiFiManager의 인스턴스를 생성하면 해당 인스턴스의 다른 부분에 액세스 할 수 있습니다. – WrightsCS

+0

아름다운 hackery, @WightsCS. 그 (것)들에있는 많은 빛나는 목표 개인적인기구 ;-) –

관련 문제