在iOS上查找Facebook SDK版本

我知道我使用的是最新版本(v3.2.1)但是我想用头或编程方式find它

也许这是一个愚蠢的问题,但在iOS中,我无法findFacebookSDK.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]中获得”

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

看看FBSDKVersion.h 。 那里有一个定义:

#define FB_IOS_SDK_VERSION_STRING @"3.2.1"

你可以在FBSDKCoreKit.hfind你的Facebook SDK的版本

#define FBSDK_VERSION_STRING @"X.XX.X" 。 看看下面的图片。

在这里输入图像说明

对于那些运行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可以输出版本string:

 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

testing对付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]); }