SpringBoard

From iPhone Development Wiki
SpringBoard
Application
com.apple.springboard
Available Since 1.0
Class Prefix SB
/System/Library/CoreServices/SpringBoard.app

Languages: English • ไทย

SpringBoard is the application launcher for the iPhone; it provides all application launching services, icon management, statusbar control, and everything else that's supposed to be filled in on this page at a later date. For the class that manages Springboard.app, see SpringBoard (Class).

Starting in iOS 6, some of SpringBoard's former functions are now in backboardd.

Reverse Engineering

As of iOS 13.5 application code is now located entirely in frameworks in the dyld_shared_cache. The SpringBoard.app (along with others in /Applications) are all just shims). Reverse engineering can be done through the methods outlined in Shared_cache_static_analysis

Workflow logging

SpringBoard reserves UNIX signal 31 (SIGUSR2) to toggle workflow logging. It can log pushing/popping displays from display stacks, application launching, etc. As of iOS 6.0, this signal will toggle SBWorkspace logging. It'll output to /tmp/SBWorkspaceLogs-date.log and the syslog.

Sending signal 31 to SpringBoard will rotate between these 4 logging styles:

  1. Stop logging.
  2. Start silent logging.
  3. Start logging to syslog.
  4. Dump workflow log.

HID logging

SpringBoard reserves UNIX signal 30 (SIGUSR1) to toggle HID logging. It can log multitouch events, accelerometer events, button presses, etc.

Sending signal 30 to SpringBoard will rotate between these 6 logging styles:

  1. Off.
  2. SpringBoard Events
  3. MultiTouch Gesture Events
  4. MultiTouch HID Events
  5. MultiTouch HID & Gesture Events
  6. Accelerometer events

Versions

Firmware 2.0 2.1 2.2 3.0 3.1 3.2
SourceCache version 656.4 713.4 716.45 919.5 956.17 1065.74