2011-01-28 17 views
3

私はWiFiManagerフレームワーク(以前はapple80211)にアクセスしようとしており、正しい情報を見つけることができません。私は、Appleがアプリストアのアプリにプライベートフレームワークを使用することを許可していないと理解していますが、私はこのアプリを個人的な目的で使用しています。私が知る必要があるのは、自分の携帯電話に直接アップロードするアプリの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に組み込まれているのですか、それともサードパーティのものですか。また、NotificationReceivedCallback関数が呼び出されると、アクセス可能で使用可能なオブジェクト(SBWiFiManager)が存在するのか、それともフレームワークへのアクセスを許可するだけのC関数なのでしょうか。 – SteveWight

+0

SpringBoardはフレームワークではありません。それはコアサービスです。 SBWiFiManagerのインスタンスを作成すると、そのインスタンスの他の部分にアクセスできます。 – WrightsCS

+0

美しいハッカー、@ WRightsCS。それらの中にたくさんの光るオブジェクトがあります;-) –

関連する問題