Я знаю, что использую последнюю версию (v3.2.1) Но я хочу найти его в заголовке или программно
Возможно, это глупый вопрос, но в iOS я не могу найти номер версии в заголовках FacebookSDK.framework.
Я знаю, что использую последнюю версию (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]"
Вы можете найти версию своего Facebook SDK в FBSDKCoreKit.h
, определенную как
#define FBSDK_VERSION_STRING @"X.XX.X"
. Посмотрите на изображение ниже.
Взгляните на 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 для меня.
Чтобы проверить текущую версию SDK в facebook, используйте следующую строку:
print("SDK version \(FBSDKSettings .sdkVersion())")
В моем случае SDK версии 4.8.0
Протестировано против быстрых 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]);
}
Попробуйте (Android) - я только опубликовал это, потому что я искал этот ответ и не видел для Android.
String s = FacebookSdk.getSdkVersion();
Log.d("FacebookSKD_V",s);
Если вы используете модули, вы можете проверить их в файле 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>