Trouver la version Facebook SDK sur iOS

Je sais que j'utilise la dernière version (v3.2.1) Mais je veux le find en en-tête ou par programmation

Peut-être que c'est une question stupide, mais dans iOS, je ne peux pas find le numéro de version dans les en-têtes FacebookSDK.framework

Après environ 2014, faites simplement ceci:

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

Pour les très vieilles versions. Avant environ 3.6:

J'ai trouvé un moyen non documenté pour imprimer la version SDK (FB_IOS_SDK_VERSION_STRING), essayez ceci

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

A travaillé pour moi avec SDK 3.5.1

J'espère que cela pourra aider…


Mise à jour: A partir de FB SDK 3.6, "Le numéro de version du SDK est défini dans FacebookSDK.h et disponible dans [FBSDKSettings sdkVersion]"

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

Jetez un oeil à FBSDKVersion.h . Il y a une définition là-bas:

#define FB_IOS_SDK_VERSION_STRING @"3.2.1"

Vous pouvez find la version de votre SDK Facebook dans FBSDKCoreKit.h défini comme

#define FBSDK_VERSION_STRING @"X.XX.X" . Jetez un oeil à l'image ci-dessous.

entrez la description de l'image ici

Pour ceux qui exécutent la version SDK> = 4, [FBSDKSettings sdkVersion] .

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

Dans le directory SDK, j'ai fait:

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

Entre autres choses, la ligne suivante a été returnnée:

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

Cela vous aidera à identifier la version sans avoir besoin de lier / exécuter / loger.

Facebook est peut-être la seule entreprise technologique au monde qui omet le numéro de version de son file tar / zip, ainsi que le directory racine décompressé. Je trouve cela déroutant.

Dans swift 2, FBSDK 4.4 vous pouvez sortir la string de version:

 print("FBSDK Version: \(FBSDK_VERSION_STRING)"); //outputs: //FBSDK Version: 4.4.0 

FBSDKSettings.version () a renvoyé 0 pour moi.

Pour vérifier la version actuelle de Facebook SDK, utilisez la ligne ci-dessous:

  print("SDK version \(FBSDKSettings .sdkVersion())") 

Dans mon cas, SDK version 4.8.0

Testé avec swift 2.0 et xCode 7.0+

Pour Facebook SDK 3.18, je devais faire

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