SpringBoardPlugins
From iPhone Development Wiki
As named, SpringBoardPlugins contains plugins for SpringBoard. The exact location for this directory is determined by the method -[SpringBoard springBoardPluginsDirectory].
Currently, SpringBoardPlugins serve 2 purposes:
- Supports “ZoomTouch”, the accessibility feature which magnifies the screen by 2 to 5 times[1].
- Supports lock screen bundles, like the Nike+iPod screen. This is the basis of Cydget.
Lock screen bundles are supported starting from 2.1, and ZoomTouch starting from 3.0.
Contents |
Structure of ZoomTouch bundle
The ZoomTouch bundle must be named as ZoomTouch.bundle. The principle class should implement the +disableZoom and +enableZoom methods.
Enabling ZoomTouch
ZoomTouch is the only non-lockscreen plugin. As such, it is hard-coded into SpringBoard.
... // Inside SpringBoard [(SpringBoard *)[UIApplication sharedApplication] setZoomTouchEnabled:YES]; ...
Structure of lock screen bundles
A lock screen bundle must have an extension of .bundle. The principle class should implement the +rootViewController method, and returns an SBAwayViewPluginController.
Enabling lock screen bundles
Lock screen bundles can be toggled using SpringBoardServices's SBEnableLockScreenBundle() function outside of SpringBoard, and SBAwayController's -enableLockScreenBundleWithName: and -disableLockScreenBundleWithName: within SpringBoard. When called outside of SpringBoard, the binary must have the com.apple.springboard.activateawayviewplugins entitlement.
References
- ↑ Apple - Accessibility - iPhone - Vision http://www.apple.com/accessibility/iphone/vision.html
| |||||||||||
