Журнал изменений и заметки к выпуску 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, представляющим получателей.FBSDKAccessTokeninit и 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]).