Find Facebook SDK Version on iOS

后端 未结 10 932
暖寄归人
暖寄归人 2020-12-04 18:51

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

相关标签:
10条回答
  • 2020-12-04 19:22

    For Facebook SDK 3.18, I had to do

    #import <FacebookSDK/FacebookSDK.h>
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        NSLog( @"My app is running FB sdk version: %@", [FBSettings sdkVersion]);
    }
    
    0 讨论(0)
  • 2020-12-04 19:23

    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/

    0 讨论(0)
  • 2020-12-04 19:24

    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.

    0 讨论(0)
  • 2020-12-04 19:26

    If you are using pods you can check in the Info.plist file:

    "Pods/FBSDKCoreKit/Support Files/Info.plist"

    The version is the key CFBundleShortVersionString

    My version was 4.18.0

    Example:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>CFBundleDevelopmentRegion</key>
      <string>en</string>
      <key>CFBundleExecutable</key>
      <string>${EXECUTABLE_NAME}</string>
      <key>CFBundleIdentifier</key>
      <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
      <key>CFBundleInfoDictionaryVersion</key>
      <string>6.0</string>
      <key>CFBundleName</key>
      <string>${PRODUCT_NAME}</string>
      <key>CFBundlePackageType</key>
      <string>FMWK</string>
      <key>CFBundleShortVersionString</key>
      <string>4.18.0</string>
      <key>CFBundleSignature</key>
      <string>????</string>
      <key>CFBundleVersion</key>
      <string>${CURRENT_PROJECT_VERSION}</string>
      <key>NSPrincipalClass</key>
      <string></string>
    </dict>
    </plist>
    
    0 讨论(0)
  • 2020-12-04 19:33

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

    #define FB_IOS_SDK_VERSION_STRING @"3.2.1"

    0 讨论(0)
  • 2020-12-04 19:34

    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]);
    }
    
    0 讨论(0)
提交回复
热议问题