Difference between revisions of "SpringBoard.app"

From iPhone Development Wiki
Jump to: navigation, search
(Created page with '{{infobox Application | path = /System/Library/CoreServices/SpringBoard.app | since = 1.0 | classID = SB }} SpringBoard is the application launcher for iPhoneOS; it provides all …')
 
 
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
{{infobox Application
 
{{infobox Application
 +
| bundle = com.apple.springboard
 
| path = /System/Library/CoreServices/SpringBoard.app
 
| path = /System/Library/CoreServices/SpringBoard.app
 
| since = 1.0
 
| since = 1.0
 
| classID = SB
 
| classID = SB
 
}}
 
}}
SpringBoard is the application launcher for iPhoneOS; 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.
+
<small>'''Languages: English &bull; [[SpringBoard.app/th|ไทย]]'''</small>
 +
 
 +
'''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]].
 +
 
 +
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 [[dyld_shared_cache|Shared_cache_static_analysis]]
 +
 
 +
== Workflow logging ==
 +
SpringBoard reserves UNIX signal 31 (SIGUSR2) to toggle workflow logging. It can log pushing/popping [[SBDisplay|displays]] from [[SBDisplayStack|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:
 +
# Stop logging.
 +
# Start silent logging.
 +
# Start logging to syslog.
 +
# 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:
 +
# Off.
 +
# SpringBoard Events
 +
# MultiTouch Gesture Events
 +
# MultiTouch HID Events
 +
# MultiTouch HID & Gesture Events
 +
# Accelerometer events
 +
 
 +
== Versions ==
 +
{| class="wikitable"
 +
|-
 +
! 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
 +
|-
 +
|}
  
 
{{Navbox Classes}}
 
{{Navbox Classes}}
 
{{Navbox Applications}}
 
{{Navbox Applications}}

Latest revision as of 06:07, 30 June 2022

SpringBoard.app
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.

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