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
No edit summary
Line 5: Line 5:
}}
}}


[[SpringBoardServices.framework]] is a C (and partially Objective-C) library that allows you to invoke functions in {{applink|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 17: Line 17:
{{Function signature|signature=void SBSCopyPublicURLSchemes(mach_port_t port, char** dataBytes, unsigned* length);|firmware=3.0 – 3.1}}
{{Function signature|signature=void SBSCopyPublicURLSchemes(mach_port_t port, char** dataBytes, unsigned* length);|firmware=3.0 – 3.1}}
See [[#SBSCopyPublicURLSchemes|SBSCopyPublicURLSchemes]].
See [[#SBSCopyPublicURLSchemes|SBSCopyPublicURLSchemes]].
=== SBLocalizedApplicationNameForDisplayIdentifier ===
{{Function signature|signature=int SBLocalizedApplicationNameForDisplayIdentifier(mach_port_t port, const char* displayIdentifier, char** result);|firmware=2.0 – 3.1}}
See [[#SBSCopyLocalizedApplicationNameForDisplayIdentifier|SBSCopyLocalizedApplicationNameForDisplayIdentifier]].


=== SBShowCompassCalibrationHUD ===
=== SBShowCompassCalibrationHUD ===
Line 28: Line 32:
{{Function signature|signature=mach_port_t SBSSpringBoardServerPort();|firmware=2.0 – 3.1}}
{{Function signature|signature=mach_port_t SBSSpringBoardServerPort();|firmware=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.
Get the Mach port (send right) that can communicate with the SpringBoard. The return value can be used in the SB functions.
=== SBSCopyIconImagePathForDisplayIdentifier ===
{{Function signature|signature=CFStringRef SBSCopyIconImagePathForDisplayIdentifier(CFStringRef displayIdentifier);|firmware=2.0 – 3.1}}
Copy the path to the icon of the application represented by the display identifier.
=== SBSCopyLocalizedApplicationNameForDisplayIdentifier ===
{{Function signature|signature=CFStringRef SBSCopyLocalizedApplicationNameForDisplayIdentifier(CFStringRef displayIdentifier);|firmware=2.0 – 3.1}}
Copy the localized application name for a display identifier. Returns <tt>NULL</tt> on error.


=== SBSCopyPublicURLSchemes ===
=== SBSCopyPublicURLSchemes ===
Line 34: Line 46:


=== 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.


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

Revision as of 19:08, 13 October 2009

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.

SBGetPublicURLSchemes

Signature void SBSCopyPublicURLSchemes(mach_port_t port, char** dataBytes, unsigned* length);
Available in 3.0 – 3.1

See SBSCopyPublicURLSchemes.

SBLocalizedApplicationNameForDisplayIdentifier

Signature int SBLocalizedApplicationNameForDisplayIdentifier(mach_port_t port, const char* displayIdentifier, char** result);
Available in 2.0 – 3.1

See SBSCopyLocalizedApplicationNameForDisplayIdentifier.

SBShowCompassCalibrationHUD

Signature void SBShowCompassCalibrationHUD(mach_port_t port, mach_port_t port2);
Available in 3.0 – 3.1

See SBSCreateCompassCalibrationHUDAssertion.

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.

SBSCopyIconImagePathForDisplayIdentifier

Signature CFStringRef SBSCopyIconImagePathForDisplayIdentifier(CFStringRef displayIdentifier);
Available in 2.0 – 3.1

Copy the path to the icon of the application represented by the display identifier.

SBSCopyLocalizedApplicationNameForDisplayIdentifier

Signature CFStringRef SBSCopyLocalizedApplicationNameForDisplayIdentifier(CFStringRef displayIdentifier);
Available in 2.0 – 3.1

Copy the localized application name for a display identifier. Returns NULL on error.

SBSCopyPublicURLSchemes

Signature CFArrayRef SBSCopyPublicURLSchemes();
Available in 3.0 – 3.1

Obtain an array of public URL schemes. (e.g. (http, https, ...))

SBSCreateCompassCalibrationHUDAssertion

The "Compass Interference" HUD.
Signature CFMachPortRef SBSCreateCompassCalibrationHUDAssertion();
Available in 3.0 – 3.1

Show the "Compass Interference" HUD.