Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS上查找Facebook SDK版本_Ios_Facebook - Fatal编程技术网

在iOS上查找Facebook SDK版本

在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] ); 对于非常旧的版本。在大

我知道我使用的是最新版本(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] );

对于非常旧的版本。在大约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应用程序的版本的想法?