Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198
SpringBoardServices.framework: Difference between revisions - iPhone Development Wiki

SpringBoardServices.framework: Difference between revisions

From iPhone Development Wiki
No edit summary
mNo edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 5: Line 5:
}}
}}


[[SpringBoardServices.framework]] is a C (and partially Objective-C) library that allows you to invoke functions in the [[SpringBoard.app|SpringBoard]] via IPC (Mach messages).  
[[SpringBoardServices.framework]] is a C (and partially Objective-C) library that allows you to invoke functions in {{applink|SpringBoard}} via IPC (Mach messages via [[MIG subsystem]]).  


SpringBoardServices is a framework that is constantly changing. Almost every firmware has something different. Make sure you check the version if you use any function here.  
SpringBoardServices is a framework that is constantly changing. Almost every firmware has something different. Make sure you check the version if you use any function here.  
Line 12: Line 12:


== SB functions ==
== SB functions ==
SB functions are the low-level functions that directly communicate with SpringBoard.  
{{main|SpringBoard.app/MIG_subsystem}}


=== SBGetPublicURLSchemes ===
SB functions are the low-level functions that directly communicate with SpringBoard via MIG subsystem. See <!-- See what? -->
{{Function signature|signature=void SBSCopyPublicURLSchemes(mach_port_t port, char** dataBytes, unsigned* length);|firmware=3.0 – 3.1}}
See [[#SBSCopyPublicURLSchemes|SBSCopyPublicURLSchemes]].
 
=== SBShowCompassCalibrationHUD ===
{{Function signature|signature=void SBShowCompassCalibrationHUD(mach_port_t port, mach_port_t port2);|firmware=3.0 – 3.1}}
See [[#SBSCreateCompassCalibrationHUDAssertion|SBSCreateCompassCalibrationHUDAssertion]].


== SBS functions ==
== SBS functions ==
Line 29: Line 23:
Get the Mach port (send right) that can communicate with the SpringBoard. The return value can be used in the SB functions.
Get the Mach port (send right) that can communicate with the SpringBoard. The return value can be used in the SB functions.


=== SBSCopyPublicURLSchemes ===
=== Application-related functions ===
{{Function signature|signature=CFStringRef SBSCopyIconImagePathForDisplayIdentifier(CFStringRef displayIdentifier);|firmware=2.0 – 4.0}}
{{Function signature|signature=CFStringRef SBSCopyLocalizedApplicationNameForDisplayIdentifier(CFStringRef displayIdentifier);|firmware=2.0 – 4.0}}
{{Function signature|signature=CFArrayRef SBSCopyPublicURLSchemes();|firmware=3.0 – 3.1}}
{{Function signature|signature=CFArrayRef SBSCopyPublicURLSchemes();|firmware=3.0 – 3.1}}
Obtain an array of public URL schemes. (e.g. <tt>(http, https, ...)</tt>)


<!--
=== SBSCreateCompassCalibrationHUDAssertion ===
=== SBSCreateCompassCalibrationHUDAssertion ===
[[Image:CompassHUD.png|right|thumb|The "Compass Interference" HUD.]]
{{Function signature|signature=CFMachPortRef SBSCreateCompassCalibrationHUDAssertion();|firmware=3.0 – 3.1}}
{{Function signature|signature=CFMachPortRef SBSCreateCompassCalibrationHUDAssertion();|firmware=3.0 – 3.1}}
Show the "Compass Interference" HUD.
Show the "Compass Interference" HUD.
-->
== Versions ==
{| class="wikitable"
|-
! Firmware
| 2.0    || 2.1    || 2.2    || 3.0  || 3.1    || 3.2
|-
! SourceCache version
| colspan="2" | N/A || 716.45 || 919.5 || 956.17 || 1065.74
|-
! dylib version
| colspan="6" | 1
|}


{{Navbox Classes}}
{{Navbox Frameworks}}
{{Navbox Frameworks}}

Latest revision as of 21:51, 29 June 2020

SpringBoardServices.framework
Private Framework
Availabile ? – present
Class Prefix SB / SBS
Headers [headers.cynder.me]


SpringBoardServices.framework is a C (and partially Objective-C) library that allows you to invoke functions in SpringBoard via IPC (Mach messages via MIG subsystem).

SpringBoardServices is a framework that is constantly changing. Almost every firmware has something different. Make sure you check the version if you use any function here.


SB functions

SB functions are the low-level functions that directly communicate with SpringBoard via MIG subsystem. See

SBS functions

SBS functions are often a higher-level abstraction on top of SB functions. A typical feature is they do not require the port parameter.

SBSSpringBoardServerPort

Signature mach_port_t SBSSpringBoardServerPort();
Available in 2.0 – 3.1

Get the Mach port (send right) that can communicate with the SpringBoard. The return value can be used in the SB functions.

Application-related functions

Signature CFStringRef SBSCopyIconImagePathForDisplayIdentifier(CFStringRef displayIdentifier);
Available in 2.0 – 4.0
Signature CFStringRef SBSCopyLocalizedApplicationNameForDisplayIdentifier(CFStringRef displayIdentifier);
Available in 2.0 – 4.0
Signature CFArrayRef SBSCopyPublicURLSchemes();
Available in 3.0 – 3.1


Versions

Firmware 2.0 2.1 2.2 3.0 3.1 3.2
SourceCache version N/A 716.45 919.5 956.17 1065.74
dylib version 1