Журнал изменений и заметки к выпуску Facebook SDK для iOS.
Журнал изменений для версии 5.0.0 и более поздних см. в файле facebook/facebook-objc-sdkCHANGELOG.md на GitHub.
2 апреля 2019 г. | Полный журнал изменений
_inBackground
для событий в приложении.[FBSDKAppEvents clearUserID];
.title
, description
, caption
и image
объекта FBSDKShareLinkContent
. Примите необходимые меры, чтобы исключить их использование. [FBSDKAppEvents activateApp]
теперь вызывается во время инициализации SDK. Вызывать activateApp в коде не требуется.FBSDKLoginButton
. Подробнее см. в руководстве по обновлению.FBMediaView
добавлено свойство aspectRatio. Теперь они смогут скорректировать высоту рекламного блока в ленте или использовать специальный макет для показа видеообъявлений в книжной ориентации. Соотношение сторон определяется по формуле "ширина/высота" и не может быть меньше 0,0. applyNaturalWidth
и applyNaturalHeight
, которые меняют ширину или высоту в зависимости от текущего размера FBMediaView
с учетом значения свойства aspectRatio
. Дополнительную информацию об использовании этих новых API см. в документации для разработчиков по нативной рекламе. FBAdSetting
добавлен атрибут setMediaViewRenderingMethod
для настройки метода отображения для FBMediaView
. Доступные методы отображения: FBMediaViewRenderingMethodDefault
, FBMediaViewRenderingMethodMetal
, FBMediaViewRenderingMethodOpenGL
и FBMediaViewRenderingMethodSoftware
. adViewDidClick
объекта FBInstreamAdViewDelegate
. FBSDKAppEvents
добавлены атрибуты setUserID:
и updateUserProperties:
. Дополнительную информацию см. в этой статье.FBSDKApplicationDelegate
для iOS 10 добавлен атрибут application:openURL:options:
.FBSDKLoginManager
.FBSDKLoginManager
.nativeAdDidClick:
для FBNativeAdDelegate
.UIImagePickerController
, которая приводила к отклонению в App Store.FBSDKSettings setGraphAPIVersion:
для глобальной настройки различных версий Graph API.FBInstreamAdView
для поддержки мест размещения рекламы In-Stream.autoplayEnabled
для FBMediaView
(вместо него теперь используются серверные средства управления).PHAsset
в библиотеке видеопроигрывателя FnF, из-за которых приложение могло не проходить статический анализ в App Store.FBSDKAppEventsUtility fetchDeferredAppInvite:
.FBSDKAppGroupAddDialog
и FBSDKAddGroupJoinDialog
.NSURLConnection
SDK теперь использует NSURLSession
, а не NSURLConnection
.FBSDKLoginButton
.FBSDKShareAPI
возвращаются ID отдельных фотографий, в то время как раньше SDK возвращал ID публикации фотоальбома.SKStoreProductViewController
App Store изменен и теперь поддерживает все ориентации, кроме перевернутой.FBAdEnvironmentData
.FBAdConfigManager
, из-за которых происходило аварийное завершение работы смешанного объекта FNF/AVFoundation.FBAdConfigManager
в допустимых ситуациях.viewControllerDidCancel
теперь гарантированно вызывается, когда пользователь нажимает Cancel
.UIActionSheet
заменен объектом UIAlertController
.SKStoreProductViewController
за счет повышения надежности загрузки и автоматического тайм-аута.FBAdConfig
, из-за которой объекты AVFoundation
и FNF*
использовались вместе и происходило аварийное завершение с ошибкой "неизвестный селектор"."objc_arc"
.viewControllerForLoginResume
.[FBSDKShareAPI.accessToken]
для изменения маркера доступа, который используется при публикации (запрос на извлечение 826).-[FBSDKAppEvents logPushNotification*]
и -[FBSDKAppEvents setPushNotificationsDeviceToken:]
. Подробнее см. в документации по push-кампаниям.-[FBSDKAppLinkUtility fetchDeferredAppInvite:]
для ссылок для отложенного приглашения в приложение в iOS, а также параметры FBSDKAppInviteContent.promotionCode
и FBSDKAppInviteContent.promotionText
, позволяющие легко добавить в приглашение промокод. Подробнее см. в документации по приглашениям в приложение.-[FBSDKProfile loadCurrentProfileWithCompletion:]
.FBSDKHashTag
и FBSDKShareMediaContent
для публикации хэштегов и смешанного контента (например, фото и видео). Подробнее см. в документации по публикации.FBSDKShareLinkContent.quote
для публикации цитат из ссылки.FBSDKShareVideo.previewPhoto
, позволяющий передать фотографию, представляющую видео.FBSDKWebDialog
(скорректировано выравнивание границ).FBMediaView
.SFSafariViewController
, вследствие которой не происходила отправка отклоненных событий.FBNativeAdTableViewCellProvider
с регистрацией нативной рекламы.FBAdURLSession
.NSString
.FBAdCache
при недействительных URL изображений.[NSString containsString:]
в iOS 7.FBSDKLikeControl
для социальной сети исправлена таким образом, чтобы учитывать параметры локали.FBSDKAppEvents
, вследствие которой в некоторых случаях не отправлялась атрибуция.FBSDKLoginButton
исправлен таким образом, чтобы получать loginButtonWillLogin:
только при входе с помощью кнопки.FBSDKAppEvents
, вследствие которой не отправлялись события в случае отправки activateApp из фонового потока.FBSDKLoginButton
относительно высоты по умолчанию (запрос на извлечение GitHub № 804: @revolter).StoreKit
.NSURLSession
.AVPlayer/AVPlayerItem
, немного повышена производительность при прокрутке видео.CGColorGetComponents
.WKWebView
.FBNativeAdView
не загружает содержимое при использовании в отдельном режиме.FBSDKShareAPI
теперь может публиковать контент FBSDKShareVideo
, инициализируемый с помощью URL файлов.sharePhotoContent
не устанавливал peopleIds
в FBSDKShareAPI
.shareVideoContent
: теперь попытка установки peopleIds
и placeId
в FBSDKShareAPI
отклоняется (отсутствие поддержки в конечной точке видео Graph API).FBMediaView
: размытие изображения обложки полностью пропускается, если в представлении медиафайла используется идеальное (1,9:1) или близкое к нему соотношение сторон.WebKit
(устройства iOS 8 + 9).UIWindowLevelNormal
.AVFoundation
, CoreMedia
и CoreMotion
(теперь они постепенно загружаются на этапе выполнения).В этом выпуске в двоичные файлы не вносились никакие изменения.
[FBSDKProfile imagePathForPictureMode]
. Вместо него добавлен параметр [FBSDKProfile imageURLForPictureMode]
.[+FBSDKRequestConnection setDefaultConnectionTimeout:]
для настройки значения тайм-аута по умолчанию для всех запросов.GameRequestDialog
, теперь будет содержать ключ to со значением NSArray
, представляющим получателей.FBSDKAccessToken
init
и new
добавлена пометка NS_UNAVAILABLE
.FBSDKApplicationDelegate application:didFinishLaunchingWithOptions:
в примерах SDK.FBSDKLoginManager
при использовании FBSDKLoginBehaviorWeb
с отменой входа.FBSDKLoginBehavior
.FBSDKLoginManager
и FBSDKAppInviteDialog
теперь используются новые перегрузки, которые принимают параметр fromViewController
. Это позволяет устранить различные проблемы с оформлением, возникавшие в iOS 9.[FBSDKLoginButtonDelegate loginButtonWillLogin:]
.FBSDKLoginButton
.[FBSDKMessengerSharer messengerPlatformCapabilities]
.FBMediaView
.[FBSDKMessengerSharer messengerPlatformCapabilities]
. Вместо проверки доступности Messenger достаточно просто отправить контент, и SDK сообщит пользователю о необходимости обновить Messenger.FBMediaView
.FBSDKAppInviteContent.previewImageURL
, FBSDKGameRequestContent.to
и FBSDKGameRequestContent.suggestions
.FBSDKShareAPI.createObjectsWithClientToken
.[FBSDKAccessToken refreshCurrentAccessToken]
для обновления текущего маркера.FBSDKTestUsersManager
, упрощающий создание тестов для тестовых пользователей.caption
в FBSDKSharePhoto
.FBSDKShareAPI
добавлено свойство message
.FBSDKShareAPI
теперь выдает предупреждение об отсутствии publish_actions в консоль (раньше сразу же выдавалось исключение).FBSDKAppInviteContent initWithAppLinkURL:
. Используйте обычный метод init
с установкой свойства appLinkURL
.fb:explicitly_shared
для операций Open Graph.FBSDKGraphRequestConnection
сообщения requestConnectionDidFinishLoading:.facebook-ios-sdk
repo) и в Cocoapods (используйте pod 'FBSDKMessengerShareKit'
)FBSDKMessengerURLHandlerCancelShareContext.h
. Используйте вместо него FBSDKMessengerURLHandlerCancelContext.h
.FBNativeAdsManager
для получения пакетов объявлений.FBNativeAdView
для настройки представлений нативной рекламы.FBNativeAdScrollView
для горизонтальной прокрутки в представлениях FBNativeAdView
или пользовательских представлениях нативной рекламы.FBAdChoicesView
, FBMediaView
, FBAdStarRatingView
.Facebook SDK для iOS 4.0 — это обновление главной версии. Ознакомьтесь с документом об обновлении iOS SDK с версии 3.x до версии 4.x.
FBSDKCoreKit.framework
— фреймворк со стандартными классами SDK, API для событий в приложении и запросами Graph API.FBSDKProfile
— надежный способ получения данных общедоступных профилей.FBSDKGraphErrorRecoveryProcessor
— модуль восстановления после ошибок Facebook.FBSDKUtility
— вспомогательный класс для синтаксического анализа URL.FBSDKLoginKit.framework
— фреймворк с функциями входа. Требуется FBSDKCoreKit.FBSDKLoginManager
— блочный API для авторизации.FBSDKShareKit.framework
— фреймворк с функциями публикации. Требуется FBSDKCoreKit.FBSDKGameRequestDialog
— диалог со строгой типизацией для создания игровых запросов.FBSDKAppInviteDialog
— диалог со строгой типизацией для отправки приглашений в приложение.FBSDKShareAPI
— реализация со строгой типизацией для операций публикации через Graph API.FBSDKShareButton
/FBSDKSendButton
/FBSDKLikeButton
— готовые кнопки "Поделиться".FBSDKMessengerSharerKit.framework
— фреймворк для сборки на платформе Messenger.@deprecated
удалены.FBSDK
вместо FB
. Например, FBAppEvents
переименован в FBSDKAppEvents
.FB*Dialogs
и FB*DialogsParams
. Используйте соответствующий диалог со строгой типизацией и модель контента из FBSDKShareKit.framework
.FBAppCall
в целом заменяется на FBSDKApplicationDelegate
. См. руководство по началу работы.FBSDKRequest*
заменяется на FBSDKGraphRequest*
с автоматическим восстановлением после ошибок и упрощенной классификацией ошибок. См. руководство по обновлению.FBSession
и FBAccessTokenData
заменены на FBSDKLoginManager
, FBSDKAccessToken
. См. руководство по обновлению.FBAppLinkData
. Используйте BFURL
из Bolts.framework.FBGraphObject
. Используйте соответствующую модель контента Open Graph вместе с FBSDKShareAPI
из FBSDKShareKit.framework
.FB*ViewController
и FBCacheDescriptor
. Альтернатива не предусмотрена. Создавайте табличные представления и реализуйте разбивку на страницы результатов Graph API вручную.FBSDKTokenCachingStrategy
. Альтернатива не предусмотрена. FBSDKLoginManager
автоматически кэширует маркеры в цепочку ключей. Вы можете отслеживать изменения маркеров для последующей обработки вручную (см. [FBSDKAccessToken currentAccessToken]
).