Ich weiß, dass ich die neueste Version (v3.2.1) verwende Aber ich möchte sie im Header oder programmgesteuert finden
Vielleicht ist es eine dumme Frage, aber unter iOS kann ich keine Versionsnummer in den Kopfzeilen von FacebookSDK.framework finden
Nach etwa 2014 einfach das tun:
NSLog( @"### running FB sdk version: %@", [FBSDKSettings sdkVersion] );
Für sehr alte Versionen. Vor ca. 3.6:
Ich habe einen nicht dokumentierten Weg gefunden, die SDK-Version (FB_IOS_SDK_VERSION_STRING) zu drucken. Versuchen Sie dies
NSLog(@"### FB SDK VERSION : %@",
[[FBRequestConnection class] performSelector:@selector(userAgent)]);
Arbeitete für mich mit SDK 3.5.1
Hoffentlich hilft das...
Update: Ab FB SDK 3.6, "Die SDK-Versionsnummer ist in FacebookSDK.h definiert und unter [FBSDKSettings sdkVersion] verfügbar"
Schau dir FBSDKVersion.h
an. Es gibt dort eine Definition:
#define FB_IOS_SDK_VERSION_STRING @"3.2.1"
Für diejenigen, die eine SDK-Version> = 4 ausführen, [FBSDKSettings sdkVersion]
.
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"### Running FB SDK Version: %@", [FBSDKSettings sdkVersion]);
}
Aus dem SDK-Verzeichnis habe ich gemacht:
% find . -name \*.h -exec fgrep -i version {} /dev/null \;
Unter anderem wurde folgende Zeile zurückgegeben:
./FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h:#define FBSDK_VERSION_STRING @"4.11.0"
Dies hilft Ihnen, die Version zu identifizieren, ohne dass Sie tatsächlich einen Link erstellen/ausführen/protokollieren müssen.
Facebook ist möglicherweise das einzige Technologieunternehmen der Welt, das die Versionsnummer aus der tar/zip-Datei sowie das entpackte Stammverzeichnis entfernt. Ich finde das verwirrend.
Um die aktuelle Version von Facebook SDK zu überprüfen, verwenden Sie die folgende Zeile:
print("SDK version \(FBSDKSettings .sdkVersion())")
In meinem Fall SDK-Version 4.8.0
Getestet gegen Swift 2.0 und xCode 7.0+
In Swift 2, FBSDK 4.4 können Sie den Versionsstring ausgeben:
print("FBSDK Version: \(FBSDK_VERSION_STRING)");
//outputs:
//FBSDK Version: 4.4.0
FBSDKSettings.version () hat für mich 0 zurückgegeben.
Wenn Sie Pods verwenden, können Sie die Info.plist-Datei einchecken:
"Pods/FBSDKCoreKit/Support Files/Info.plist"
Die Version ist der Schlüssel CFBundleShortVersionString
Meine Version war 4.18.0
Beispiel:
<?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) - Ich habe dies nur gepostet, weil ich nach dieser Antwort gesucht habe und nicht für Android gesucht habe.
String s = FacebookSdk.getSdkVersion();
Log.d("FacebookSKD_V",s);
Für Facebook SDK 3.18 musste ich das tun
#import <FacebookSDK/FacebookSDK.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog( @"My app is running FB sdk version: %@", [FBSettings sdkVersion]);
}