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