在iOS上查找Facebook SDK版本
我知道我使用的是最新版本(v3.2.1)。但我想在header中或以编程方式找到它在iOS上查找Facebook SDK版本,ios,facebook,Ios,Facebook,我知道我使用的是最新版本(v3.2.1)。但我想在header中或以编程方式找到它 在iOS中,我在FacebookSDK.framework标题中找不到版本号。请查看FBSDKVersion.h。这里有一个定义: #定义FB_IOS_SDK_VERSION_STRING@“3.2.1”大约在2014年之后,只需执行以下操作: NSLog( @"### running FB sdk version: %@", [FBSDKSettings sdkVersion] ); 对于非常旧的版本。在大
在iOS中,我在FacebookSDK.framework标题中找不到版本号。请查看
FBSDKVersion.h
。这里有一个定义:
#定义FB_IOS_SDK_VERSION_STRING@“3.2.1”
大约在2014年之后,只需执行以下操作:
NSLog( @"### running FB sdk version: %@", [FBSDKSettings sdkVersion] );
对于非常旧的版本。在大约3.6之前: 我找到了一种没有文档记录的方法来打印SDK版本(FB\u IOS\u SDK\u version\u STRING),试试这个
NSLog(@"### FB SDK VERSION : %@",
[[FBRequestConnection class] performSelector:@selector(userAgent)]);
使用sdk 3.5.1为我工作
希望这有助于
更新:从FB SDK 3.6开始,“SDK版本号在FacebookSDK.h中定义,可从[FBSDKSettings sdkVersion]获得”
对于运行SDK版本>=4的用户,
[FBSDKSettings sdkVersion]
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"### Running FB SDK Version: %@", [FBSDKSettings sdkVersion]);
}
#导入
-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项{
NSLog(@“###运行FB SDK版本:%@,[FBSDKSettings sdkVersion]);
}
在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
根据SDK目录中的swift 2.0和xCode 7.0+进行测试,我做到了:
% find . -name \*.h -exec fgrep -i version {} /dev/null \;
在其他内容中,返回了以下行:
./FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h:#define FBSDK_VERSION_STRING @"4.11.0"
这将帮助您识别版本,而无需实际链接/运行/记录
Facebook可能是世界上唯一一家从tar/zip文件以及解压根目录中省略版本号的技术公司。我觉得很困惑。你可以在
FBSDKCoreKit.h
中找到你的Facebook SDK版本,定义为
#定义FBSDK_版本_字符串@“X.XX.X”
。请看下图
对于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]);
}
#导入
-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项{
NSLog(@“我的应用程序正在运行FB sdk版本:%@,[FBSettings sdkVersion]);
}
Try(Android)-我之所以发布这篇文章,是因为我在寻找答案,而没有看到Android的答案
String s = FacebookSdk.getSdkVersion();
Log.d("FacebookSKD_V",s);
如果您正在使用pods,则可以签入Info.plist文件:
“Pods/FBSDKCoreKit/Support Files/Info.plist”
版本是键CbundleShortVersionString
我的版本是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>
CfBundledDevelopmentRegion
EN
Cbundlexecutable
${EXECUTABLE_NAME}
CbundleIdentifier
${PRODUCT\u BUNDLE\u IDENTIFIER}
CbundleInfo字典版本
6
CFBundleName
${PRODUCT_NAME}
CbundlePackageType
模板
CbundleShortVersionString
4.18.0
CFBundleSignature
????
循环流化床锅炉
${当前项目版本}
非主类
我甚至没有这个文件。对,这可能只有在添加了源代码的情况下才有效。对于我们的项目,它是作为编译框架添加的。我没有源代码。如何以编程方式获取它?有电话吗?太好了!对我来说效果很好。谢谢,但是还有一句话,facebook下载页面现在说,当你下载facebook 3.5时,它会告诉你3.14有什么区别?所以你必须在调试会话中运行代码才能找到SDK?无法通过查看~/Documents/FacebookSDK(默认安装位置)来判断您在计算机上安装了哪个版本的SDK。我想回顾一下TimeMachine,看看我上次发布时在那个位置安装了什么@poloDelaVegas是否可以通过查看安装在我电脑上的库文件来确定SDK版本?看起来您还需要包括#导入您如何打印已安装Facebook应用程序的版本的想法?