Find Facebook SDK Version on iOS

I know I'm using the latest version (v3.2.1). But I want find it in header or programmatically.

In iOS I can't find version number in FacebookSDK.framework headers.


After about 2014, simply do this:

NSLog( @"### running FB sdk version: %@", [FBSDKSettings sdkVersion] );

For very old versions. Before about 3.6:

I found an undocumented way to print the SDK version (FB_IOS_SDK_VERSION_STRING), try this

NSLog(@"### FB SDK VERSION : %@",
    [[FBRequestConnection class] performSelector:@selector(userAgent)]);

Worked for me with sdk 3.5.1

Hope that helps...


Update: As of FB SDK 3.6, "The SDK version number is defined in FacebookSDK.h and available from [FBSDKSettings sdkVersion]"

https://developers.facebook.com/ios/change-log-3.x/


You can find the version of your Facebook SDK in FBSDKCoreKit.h defined as

#define FBSDK_VERSION_STRING @"X.XX.X". Have a look at the image below.

enter image description here


Take a look at FBSDKVersion.h. There's a define there:

#define FB_IOS_SDK_VERSION_STRING @"3.2.1"


For those running SDK version >= 4, [FBSDKSettings sdkVersion].

#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSLog(@"### Running FB SDK Version: %@", [FBSDKSettings sdkVersion]);
}

From the SDK directory I did:

% find . -name \*.h -exec fgrep -i version {} /dev/null \;

Amongst other stuff, the following line was returned:

./FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h:#define FBSDK_VERSION_STRING @"4.11.0"

This will help you identify the version without needing to actually link/run/log.

Facebook might possibly be the only technology company in the world that omits the version number from their tar/zip file, as well as the unpacked root directory. I find this baffling.