@interface SpringBoard : UIApplication <SBPowerDownControllerDelegate, MCProfileConnectionObserver, UIApplicationDelegate>
{}


- (id)_accessibilityRunningApplications;    // (前台)正在运行的程序
- (id)_accessibilityTopDisplay;             // (前台)当前置顶的程序    
- (id)_accessibilityFrontMostApplication;   //     

- (void)handleMenuDoubleTap;  // home键双击  
- (_Bool)isMenuDoubleTapAllowed; // 是否允许home键双击
- (void)showSpringBoardStatusBar; // 显示状态栏    
- (void)hideSpringBoardStatusBar; // 隐藏状态栏  
- (_Bool)isSpringBoardStatusBarHidden; // 状态栏是否隐藏

- (void)tearDown;    // 相当于注销吧。。
- (void)_tearDownNow;    
- (_Bool)isPoweringDown;    
- (void)powerDown;    // 关机
- (void)reboot; // 重启   
- (void)_rebootNow;    
- (void)_powerDownNow;    

- (void)_revealSpotlight; // 打开顶部搜索框

@end


实验:



PiaoYuns-iPad:~ root# cycript -p SpringBoard
cy# cy# choose(SpringBoard)
[#"<SpringBoard: 0x15ee1dcb0>"]
cy# var sb = new Instance(0x15ee1dcb0)
cy# [sb isMenuDoubleTapAllowed ]
true
cy# sb->isa.messages['isMenuDoubleTapAllowed'] = function(){return NO;};
function () {return NO;}
cy# [sb isMenuDoubleTapAllowed ]
false  
// 此时双击home键发现无效了!!


// 隐藏、显示状态栏
cy# [sb hideSpringBoardStatusBar ]
cy# [sb isSpringBoardStatusBarHidden ]
1
cy# [sb showSpringBoardStatusBar ]
cy# [sb isSpringBoardStatusBarHidden ]
0

cy# [sb _accessibilityRunningApplications ]
@[#"<SBApplication: 0x16671170> com.apple.Preferences statusBarOrientation = 1 statusBarStyle = 300 statusBarWindowContextId = 1861350771  activate:  deactivate: ",#"<SBApplication: 0x1667de00> com.apple.mobilemail statusBarWindowContextId = 0  activate:  deactivate: ",#"<SBApplication: 0x1665cf70> com.apple.reminders animate statusBarOrientation = 1 statusBarStyle = 303 statusBarWindowContextId = -577028576  activate:  deactivate: "]
cy# [sb _accessibilityTopDisplay  ]
#"<SBLockScreenViewController: 0x16b11000> <SBActivationContext: 0x1668d2e0> display: <> activate: <> deactivate: <>"


你可能感兴趣的文章

评论区

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。