Je sais que j'utilise la dernière version (v3.2.1) Mais je veux le trouver dans l'en-tête ou par programme
Peut-être que c'est une question idiote, mais sous iOS, je ne trouve pas 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 anciennes versions. Avant environ 3.6:
J'ai trouvé un moyen non documenté d'imprimer la version du SDK (FB_IOS_SDK_VERSION_STRING), essayez ceci.
NSLog(@"### FB SDK VERSION : %@",
[[FBRequestConnection class] performSelector:@selector(userAgent)]);
Travaillé pour moi avec SDK 3.5.1
J'espère que cela pourra aider...
Mise à jour: à partir de FB SDK 3.6, "Le numéro de version du SDK est défini dans FacebookSDK.h et disponible à partir de [FBSDKSettings sdkVersion]"
Jetez un coup d'œil à FBSDKVersion.h
. Il y a une définition ici:
#define FB_IOS_SDK_VERSION_STRING @"3.2.1"
Pour ceux qui utilisent la version SDK> = 4, [FBSDKSettings sdkVersion]
.
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"### Running FB SDK Version: %@", [FBSDKSettings sdkVersion]);
}
À partir du répertoire du SDK, j'ai:
% find . -name \*.h -exec fgrep -i version {} /dev/null \;
Entre autres choses, la ligne suivante a été renvoyé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/log.
Facebook pourrait être la seule entreprise technologique au monde à omettre le numéro de version de son fichier tar/Zip, ainsi que le répertoire racine non compressé. Je trouve cela déroutant.
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é contre Swift 2.0 et xCode 7.0+
Dans Swift 2, FBSDK 4.4, vous pouvez générer la chaîne de version:
print("FBSDK Version: \(FBSDK_VERSION_STRING)");
//outputs:
//FBSDK Version: 4.4.0
FBSDKSettings.version () a renvoyé 0 pour moi.
Si vous utilisez des pods, vous pouvez archiver le fichier Info.plist:
"Pods/FBSDKCoreKit/Support Files/Info.plist"
La version est la clé CFBundleShortVersionString
Ma version était 4.18.0
Exemple:
<?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>
Try (Android) - Je n'ai posté ceci que parce que je cherchais cette réponse et que je ne voyais pas pour Android.
String s = FacebookSdk.getSdkVersion();
Log.d("FacebookSKD_V",s);
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]);
}