我知道我使用的是最新版本(v3.2.1)。但我想在标题中或以编程方式找到它。
在 iOS 中,我在 FacebookSDK.framework 标头中找不到版本号。
大约在 2014 年之后,只需执行以下操作:
NSLog( @"### running FB sdk version: %@", [FBSDKSettings sdkVersion] );
对于非常旧的版本。3.6左右之前:
我找到了一种打印 SDK 版本(FB_IOS_SDK_VERSION_STRING)的无证方法,试试这个
NSLog(@"### FB SDK VERSION : %@",
[[FBRequestConnection class] performSelector:@selector(userAgent)]);
使用 sdk 3.5.1 为我工作
希望有帮助...
更新:从 FB SDK 3.6 开始, “SDK 版本号在 FacebookSDK.h 中定义,可从 [FBSDKSettings sdkVersion] 获得”
看看FBSDKVersion.h
。那里有一个定义:
#define FB_IOS_SDK_VERSION_STRING @"3.2.1"
对于那些运行 SDK 版本 >= 4 的用户,[FBSDKSettings sdkVersion]
.
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"### Running FB SDK Version: %@", [FBSDKSettings sdkVersion]);
}
从我做的SDK目录:
% find . -name \*.h -exec fgrep -i version {} /dev/null \;
除其他内容外,还返回了以下行:
./FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h:#define FBSDK_VERSION_STRING @"4.11.0"
这将帮助您识别版本,而无需实际链接/运行/记录。
Facebook 可能是世界上唯一一家在其 tar/zip 文件以及解压后的根目录中省略版本号的科技公司。我觉得这很莫名其妙。
在 swift 2, FBSDK 4.4 中你可以输出版本字符串:
print("FBSDK Version: \(FBSDK_VERSION_STRING)");
//outputs:
//FBSDK Version: 4.4.0
FBSDKSettings.version() 为我返回 0。
要检查 facebook SDK 的当前版本,请使用以下行:
print("SDK version \(FBSDKSettings .sdkVersion())")
就我而言,SDK 版本 4.8.0
针对 swift 2.0 和 xCode 7.0+ 进行测试
对于 Facebook SDK 3.18,我必须这样做
#import <FacebookSDK/FacebookSDK.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog( @"My app is running FB sdk version: %@", [FBSettings sdkVersion]);
}
Try(Android) - 我只发布了这个,因为我正在寻找这个答案并且没有看到 android。
String s = FacebookSdk.getSdkVersion();
Log.d("FacebookSKD_V",s);
如果您使用的是 pod,您可以检查 Info.plist 文件:
"Pods/FBSDKCoreKit/Support Files/Info.plist"
版本是关键CFBundleShortVersionString
我的版本是 4.18.0
例子:
<?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>
在 Xcode 12 的 11.0 之后,无法在 SPM 上获取它。