Подтвердить что ты не робот

Найти версию SDK для Facebook на iOS

Я знаю, что использую последнюю версию (v3.2.1) Но я хочу найти его в заголовке или программно

Возможно, это глупый вопрос, но в iOS я не могу найти номер версии в заголовках FacebookSDK.framework.

4b9b3361

Ответ 1

Примерно через 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/

Ответ 2

Вы можете найти версию своего Facebook SDK в FBSDKCoreKit.h, определенную как

#define FBSDK_VERSION_STRING @"X.XX.X". Посмотрите на изображение ниже.

введите описание изображения здесь

Ответ 3

Взгляните на FBSDKVersion.h. Там определите:

#define FB_IOS_SDK_VERSION_STRING @"3.2.1"

Ответ 4

Для тех, кто использует версию SDK >= 4, [FBSDKSettings sdkVersion].

#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    NSLog(@"### Running FB SDK Version: %@", [FBSDKSettings sdkVersion]);
}

Ответ 5

Из каталога 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, а также распакованный корневой каталог. Я нахожу это озадачивающим.

Ответ 6

В swift 2, FBSDK 4.4 вы можете выводить строку версии:

print("FBSDK Version: \(FBSDK_VERSION_STRING)");
//outputs:
//FBSDK Version: 4.4.0

FBSDKSettings.version() вернул 0 для меня.

Ответ 7

Чтобы проверить текущую версию SDK в facebook, используйте следующую строку:

    print("SDK version \(FBSDKSettings .sdkVersion())")

В моем случае SDK версии 4.8.0

Протестировано против быстрых 2.0 и xCode 7.0 +

Ответ 8

Для 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]);
}

Ответ 9

Попробуйте (Android) - я только опубликовал это, потому что я искал этот ответ и не видел для Android.

String s = FacebookSdk.getSdkVersion();
                Log.d("FacebookSKD_V",s);

Ответ 10

Если вы используете модули, вы можете проверить их в файле Info.plist:

"Pods/FBSDKCoreKit/Support Files/Info.plist"

Версия является ключом CFBundleShortVersionString

Пример:

<?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>