iOS 版 Facebook SDK 的更新日志和版本说明。
有关 5.0.0 及更高版本的更新日志,请参阅 GitHub 上的 facebook/facebook-objc-sdkCHANGELOG.md。
[FBSDKAppEvents clearUserID];FBSDKShareLinkContent 的 title、description、caption 和 image 字段。请采取适当的措施停用这些字段。 [FBSDKAppEvents activateApp]。无需在代码中调用 activateAppFBSDKLoginButton 的外观和风格。参阅升级指南了解更多详情FBMediaView 添加了 aspectRatio 属性,以便为希望根据视图内容尺寸调整应用布局的发行商提供参考。发行商可以借此调整广告单元在动态版块中的显示高度,或为纵向视频广告展示专属布局等等。宽高比表示宽度与高度的比值,应大于或等于 0.0。 applyNaturalWidth 和 applyNaturalHeight,它们会根据 aspectRatio 属性和当前 FBMediaView 的尺寸调整宽度或高度。请查看原生广告开发者文档,详细了解如何使用这些新 API。 FBAdSetting 添加了 setMediaViewRenderingMethod,以便为 FBMediaView 配置渲染方法。可用的渲染方法有 FBMediaViewRenderingMethodDefault、FBMediaViewRenderingMethodMetal、FBMediaViewRenderingMethodOpenGL 和 FBMediaViewRenderingMethodSoftware。 FBInstreamAdViewDelegate 的 adViewDidClick 回调方法的漏洞。 FBSDKApplicationDelegate 添加了 application:openURL:options:。FBSDKLoginManager 回调中未调度即展示用户界面时可能出现的问题。FBSDKLoginManager 过早被释放的漏洞。FBNativeAdDelegate 的 nativeAdDidClick: 未被调用的问题UIImagePickerController 引用FBSDKSettings setGraphAPIVersion:,以支持全局设置不同图谱 API 版本。FBInstreamAdView,以支持视频插播广告版位FBMediaView 的 autoplayEnabled 设置器,转而采用服务器端控制选项PHAsset 的无意引用,因为它可能导致 App Store 静态分析失败FBSDKAppEventsUtility fetchDeferredAppInvite:。FBSDKAppGroupAddDialog 和 FBSDKAddGroupJoinDialog 接口。NSURLConnection 起,SDK 现在使用 NSURLSession 而非 NSURLConnection 来发起图谱 API 请求。FBSDKLoginButton 退出时可能崩溃的问题。FBSDKShareAPI 分享照片时,将返回单张照片的编号,而此前 SDK 返回的是相册帖子的编号。SKStoreProductViewController,允许除倒置外的所有方向FBAdEnvironmentData 进行了清理与优化FBAdConfigManager 时序问题FBAdConfigManager 中的错误记录Cancel 时调用 viewControllerDidCancel 委托方法UIAlertController 替换了已停用的 UIActionSheetSKStoreProductViewController,提升了加载可靠性并增加了自动超时功能FBAdConfig 的时序问题,该问题会导致 AVFoundation 与 FNF* 对象被错误地同时使用,进而引发“未知选择器”的崩溃"objc_arc" 标记viewControllerForLoginResume 的方法签名[FBSDKShareAPI.accessToken],以允许更改分享所用的访问口令(拉取请求 826)-[FBSDKAppEvents logPushNotification*] 和 -[FBSDKAppEvents setPushNotificationsDeviceToken:]。参阅推送营销文档了解更多详情。-[FBSDKAppLinkUtility fetchDeferredAppInvite:],以支持在 iOS 上发布中转应用邀请应用链接;并新增了 FBSDKAppInviteContent.promotionCode 和 FBSDKAppInviteContent.promotionText,以便于在邀请中添加优惠码。参阅应用邀请文档了解更多详情。-[FBSDKProfile loadCurrentProfileWithCompletion:]FBSDKShareLinkContent.quote 以支持从链接分享引文。FBSDKShareVideo.previewPhoto 以便用照片来代表视频。FBSDKWebDialog 的渲染问题(修复了边框对齐问题)。FBMediaView 新增了对轮播广告的支持。SFSafariViewController 不分发已取消事件的问题。FBNativeAdTableViewCellProvider 的原生广告注册问题。FBAdURLSession 中的偶发性崩溃问题。NSString 时的内存泄漏问题。FBAdCache 中的内存泄漏问题。[NSString containsString:] 可能导致崩溃的问题。FBSDKLikeControl 的社交语句,使其能够正确遵循区域设置。FBSDKAppEvents 不发送归因数据的漏洞。FBSDKLoginButton 委托对象,以仅在使用按钮登录时接收 loginButtonWillLogin:。FBSDKAppEvents 中导致当从后台线程发出 activateApp 时无法发送相关事件的漏洞。FBSDKLoginButton 头文件注释(GitHub 拉取请求#804:@revolter)。StoreKit 依赖项。NSURLSession。AVPlayer/AVPlayerItem 的性能,视频滚动性能获得小幅提升CGColorGetComponents 的堆溢出漏洞WKWebView 渲染错误的问题FBNativeAdView 无法加载内容的问题FBSDKShareAPI 现在可以分享通过文件网址初始化的 FBSDKShareVideo 内容。sharePhotoContent 无法在 FBSDKShareAPI 中设置 peopleIds 的问题。shareVideoContent,以在 FBSDKShareAPI 中拒绝设置 peopleIds 和 placeId(在图谱 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: 的使用方式。FBSDKLoginBehaviorWeb 且取消登录时,FBSDKLoginManager 中可能发生 EXEC_BAD_ACCESS 的问题。FBSDKLoginBehavior 上的头文件注释。FBSDKLoginManager 和 FBSDKAppInviteDialog 上的若干方法,取而代之的是接受 fromViewController 参数的新重载版本。这解决了 iOS 9 上可能出现的各种显示问题。[FBSDKLoginButtonDelegate loginButtonWillLogin:]。FBSDKLoginButton 选定样式的问题。[FBSDKMessengerSharer messengerPlatformCapabilities]FBMediaView 的图片性能[FBSDKMessengerSharer messengerPlatformCapabilities],以准备迎接 iOS 9。不必先检查 Messenger 的版本是否可用,而是直接发送内容,SDK 会自动提醒用户是否需要更新 Messenger。FBMediaView 添加了视频支持。FBSDKAppInviteContent.previewImageURL、FBSDKGameRequestContent.to 和 FBSDKGameRequestContent.suggestions,以避免出现非公开选择器验证警告FBSDKShareAPI.createObjectsWithClientToken[FBSDKAccessToken refreshCurrentAccessToken] 以便刷新当前口令。FBSDKTestUsersManager,以简化测试用户的测试编写工作。FBSDKSharePhoto 新增了属性 caption。FBSDKShareAPI 新增了属性 message。FBSDKShareAPI 现在会在控制台中提示缺少“publish_actions”,而不是立即抛出异常。FBSDKAppInviteContent initWithAppLinkURL:。使用标准 init 并设置 appLinkURL 属性。fb:explicitly_shared 用于开放图谱操作的漏洞。FBSDKGraphRequestConnection 的委托对象无法接收 'requestConnectionDidFinishLoading:' 消息的漏洞。facebook-ios-sdk 仓库的 FBSDKMessegerShareKit 文件夹中)和 Cocoapods(使用 pod 'FBSDKMessengerShareKit')FBSDKMessengerURLHandlerCancelShareContext.h。改为使用 FBSDKMessengerURLHandlerCancelContext.h。FBNativeAdsManager。FBNativeAdViewFBNativeAdScrollView,其可承载 FBNativeAdView 或自定义原生广告视图。FBAdChoicesView、FBMediaView和 FBAdStarRatingView。iOS 版 Facebook SDK v4.0 是一次重大的版本升级。参阅从 iOS SDK 3.x 升级到 4.x。
FBSDKCoreKit.framework - 该框架提供通用 SDK 类,以及应用事件和图谱 API 请求的 APIFBSDKProfile - 获取公开个人主页数据的可靠方法。FBSDKGraphErrorRecoveryProcessor - 用于处理各种 Facebook 错误的错误恢复尝试程序。FBSDKUtility - 用于解析网址的实用程序类。FBSDKLoginKit.framework - 提供登录功能的框架。需要 FBSDKCoreKit。FBSDKLoginManager - 基于块的授权 API。FBSDKShareKit.framework - 提供分享功能的框架。需要 FBSDKCoreKit。FBSDKGameRequestDialog - 用于创建游戏请求的强类型对话框。FBSDKAppInviteDialog - 用于发送应用邀请的强类型对话框。FBSDKShareAPI - 用于通过图谱 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。使用来自 Bolts.framework 的 BFURL。FBGraphObject。使用适当的开放图谱内容模型,并结合使用来自 FBSDKShareKit.framework 的 FBSDKShareAPI。FB*ViewController 和 FBCacheDescriptor。无替代参数。构建表格视图,并手动为图谱 API 结果分页。FBSDKTokenCachingStrategy。无替代参数。FBSDKLoginManager 会自动将口令缓存到钥匙串中。您可以观察口令的变化,并手动执行后处理(参见 [FBSDKAccessToken currentAccessToken])。