Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

iOS Objective-C headers as derived from runtime introspection

iOS 7.1

latest commit 7ef0330f96
Nicolas Seriot authored
Octocat-spinner-32 Frameworks iOS 7.1 March 11, 2014
Octocat-spinner-32 PrivateFrameworks iOS 7.1 March 11, 2014
Octocat-spinner-32 lib iOS 7.1 March 11, 2014
Octocat-spinner-32 misc February 23, 2013
Octocat-spinner-32 ios_frameworks.png iOS 7.1 March 11, 2014

Dynamically Generated iOS Headers

Here are iOS Objective-C headers as derived from runtime introspection.

The headers were generated using RuntimeBrowser for iPhone.


You can search the headers with github search:


You can compare versions based on their tags, see the tags page:

$ git difftool 6.0 6.1 .

Sample usage

You can use the headers this way:

NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/GAIA.framework"];
BOOL success = [b load];

Class SKTelephonyController = NSClassFromString(@"SKTelephonyController");
id tc = [SKTelephonyController sharedInstance];

NSLog(@"-- myPhoneNumber: %@", [tc myPhoneNumber]);
NSLog(@"-- imei: %@", [tc imei]);

Note that many other unique identifiers can be retrieved:

Class AADeviceInfo = NSClassFromString(@"AADeviceInfo");
NSLog(@"-- serialNumber: %@", [AADeviceInfo serialNumber]);
NSLog(@"-- udid: %@", [AADeviceInfo udid]);
NSLog(@"-- appleIDClientIdentifier: %@", [AADeviceInfo appleIDClientIdentifier]);

id deviceInfo = [[[AADeviceInfo alloc] init] autorelease];
NSLog(@"-- wifiMacAddress: %@", [deviceInfo wifiMacAddress]);

Class OSDBattery = NSClassFromString(@"OSDBattery");
NSLog(@"-- battery serial number: %@", [OSDBattery _getBatterySerialNumber]);


  • Green == public
  • Red == private
  • Blue == dylib

The code to draw this picture is in

iOS Frameworks

Nicolas Seriot

Something went wrong with that request. Please try again.