SpringBoardPlugins

From iPhone Development Wiki
Revision as of 20:00, 23 October 2009 by KennyTM~ (talk | contribs) (Created page with 'As named, SpringBoardPlugins contains plugins for {{applink|SpringBoard}}. The exact location for this directory is determined by the method <tt>-[</tt><tt>SpringBoard sp…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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:

  1. Supports “ZoomTouch”, the accessibility feature which magnifies the screen by 2 to 5 times[1].
  2. 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.

Structure of ZoomTouch bundle

The ZoomTouch bundle must be named as ZoomTouch.bundle. The principle class should implement the +disableZoom and +enableZoom methods.

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

  1. Apple - Accessibility - iPhone - Vision http://www.apple.com/accessibility/iphone/vision.html