iOS 版 Facebook SDK 更新日志

iOS 版 Facebook SDK 的更新日志和版本说明。

5.0.0 及更高版本

有关 5.0.0 及更高版本的更新日志,请参阅 GitHub 上的 facebook/facebook-objc-sdkCHANGELOG.md。

4.44.0 — 2019 年 4 月 5 日

2019 年 4 月 2 日 | 完整更新日志

添加内容

  • 新增了应用事件参数 _inBackground

修复内容

  • 修复了各种漏洞

4.40.0 — 2019 年 1 月 22 日

Facebook SDK

添加内容

修改内容

修复内容

  • 修复了各种漏洞

4.39.1 — 2019 年 1 月 15 日

Facebook SDK

添加内容

修改内容

修复内容

  • 修复了各种漏洞

4.39.0 — 2018 年 12 月 5 日

Facebook SDK

添加内容

修改内容

  • 默认打开应用内购买自动记录功能。自动验证所有 iOS 设备自动记录的购物事件。

修复内容

  • 修复了各种漏洞

4.38.0 — 2018 年 10 月 23 日

Facebook SDK

添加内容

修改内容

修复内容

  • 解决了 Xcode 10/iOS 12 的 Bitcode 编译失败问题
  • 修复了各种漏洞

4.37.0 — 2018 年 9 月 27 日

Facebook SDK

添加内容

修改内容

修复内容

  • 修复了各种漏洞

4.36.0 — 2018 年 8 月 30 日

Facebook SDK

添加内容

  • 新增应用内购买自动记录
  • 应用事件高级匹配
  • 卸载追踪
  • 新增标准事件

修改内容

修复内容

  • 修复了各种漏洞

4.35.0 — 2018 年 7 月 26 日

Facebook SDK

添加内容

  • 支持访问图谱 API v3.1
  • 新增了 [FBSDKAppEvents clearUserID];

修改内容

修复内容

  • 修复了各种漏洞。

4.34.0 — 2018 年 6 月 18 日

Facebook SDK

添加内容

  • 新增了营销工具包,以启用免代码应用事件记录功能。
  • 新增了 JavascriptInterface 和 augmentWebview 方法。采用混合模式的应用可借此通过 Pixel 像素代码发送 AppEvents(应用事件)。
  • 为 FBShareVideo 新增了 videoAsset 属性,以便合作伙伴使用 PHAsset 分享照片库中的视频。

修改内容

  • 提升与图谱 API 3.0 的兼容性。

修复内容

  • 修复了各种漏洞。

4.33.0 — 2018 年 5 月 1 日

Facebook SDK

添加内容

  • 升级至 Facebook 图谱 API 3.0 版
  • 新增了 FBSDKACCESSTOKEN CURRENTACCESSTOKENISACTIVE 简便方法

修改内容

修复内容

  • 优化了不活跃登录处理
  • 修复了各种漏洞

4.32.0 — 2018 年 4 月 11 日

Facebook SDK

添加内容

修改内容

  • 新增了对 getCurrentLocation 调用提供自定义位置的支持。

修复内容

  • 修复了与完成块相关的崩溃问题。
  • 修复了蓝牙提醒问题

Account Kit SDK

添加内容

修改内容

修复内容

4.31.1 — 2018 年 3 月 5 日

Facebook SDK

添加内容

修改内容

修复内容

  • 修复了批量请求中 post(发布)参数的漏洞

4.31.0 — 2018 年 2 月 28 日

Facebook SDK

添加内容

修改内容

修复内容

Account Kit SDK

添加内容

修改内容

修复内容

4.30.0 — 2018 年 1 月 24 日

Facebook SDK

添加内容

修改内容

修复内容

  • 对 Messenger 分享功能进行了细微修改
  • 修复了在身份验证会话过程中锁定设备的问题

Account Kit SDK

添加内容

  • 升级至 AccountKit 图谱 API 1.3 版

修改内容

  • 移除了偏好设置 API

修复内容

4.29.0 — 2017 年 12 月 5 日

Facebook SDK

添加内容

  • 新增了 Messenger 分享 SDK 功能:博文

修复内容

  • 发行针对 XCode 9 / iOS 11 SDK 的 bitcode

4.28.0 — 2017 年 11 月 7 日

Facebook SDK

修改内容

  • 应用邀请功能已停用。
  • 原生“赞”按钮已停用。
  • 在隐式购物记录中捕捉收据数据

4.27.0 — 2017 年 9 月 26 日

Facebook SDK

添加内容

  • 支持 Xcode 9

修复内容

  • iOS 11 漏洞修复

4.26.0 — 2017 年 8 月 24 日

Facebook SDK

添加内容

  • 用于设备登录和分享的二维码

修复内容

  • 缓解了因 UIApplication 的 keyWindow 为 nil 导致 SafariViewController 无法显示的问题

4.25.0 — 2017 年 7 月 26 日

Facebook SDK

修复内容

  • 修复了 Carthage 集成问题

Audience Network

修改内容

  • 记录通过统一日志记录分派的事件的类型(之前仅在控制台中记录事件编号)
  • 添加了对视频插屏广告的脱机播放支持
  • 添加对设备方向更改后显示插屏广告的支持
  • AdUnitsSample 项目的细微重新设计(现在包含视频插播广告示例)
  • 删除 InstreamAdSample 项目
  • 在 FBMediaViewVideoRenderer 中添加播放属性
  • 将 FBMediaViewVideoRenderer 持续时间属性的默认值更改为 kCMTimeIndefinite

修复内容

  • 记录通过统一日志记录分派的事件类型(之前仅在控制台中记录编号)
  • 添加了对视频插屏广告的脱机播放支持
  • 添加对设备方向更改后显示插屏广告的支持
  • AdUnitsSample 项目的细微重新设计(现在包含视频插播广告示例)
  • 删除了 InstreamAdSample 项目

4.24.0 — 2017 年 6 月 26 日

Facebook SDK

添加内容

  • 对“使用 Facebook 继续”按钮进行了本地化

修复内容

  • FBSDKSharingDialog 的 canShow 方法可在设置内容后对其进行验证

Audience Network

添加内容

  • 向 FBNativeAd 添加了更多 AdChoices 属性
  • 向 FBAdSettings 添加了 backgroundVideoPlaybackAllowed 属性

修改内容

  • 改进了 FBRewardedVideoAd 布局

修复内容

  • 修复了 FBMediaView 中间歇性触发的调试器警告问题

4.23.0 — 2017 年 5 月 25 日

Facebook SDK

修复内容

  • 修复了 PlacesKit 样本应用在 iOS 8/9 系统中可能崩溃的问题

Audience Network

添加内容

  • 新增了 FBMediaViewVideoRenderer,以实现原生视频广告定制
  • 因与旧版 Xcode 编译时存在兼容性问题,已回退 LTO 构建的库
  • 将调试输出更改为仅输出行表,以缩减 SDK 体积
  • 新增了动态库构建 (FBAudienceNetworkDynamicFramework)

修改内容

  • 简化了 FBAdChoicesView 的公共接口

修复内容

  • 已将视频播放器库更新至最新稳定版本
  • 修复了原生视频广告的争用条件问题(空白屏幕错误)

Account Kit

添加内容

  • 针对手机登录的场景,在国家/地区代码选择列表中新增了各国国旗

修改内容

  • 本地化改进
  • 改进了辅助功能控制选项

修复内容

  • 修复了按钮消失和标签错误等用户界面问题

4.22.1 — 2017 年 5 月 12 日

Account Kit

修复内容

  • 修复了 App Store 审核流程中语言不受支持的问题。

4.22.0 — 2017 年 4 月 18 日

Facebook SDK

添加内容

修改内容

  • 更新至使用图谱 API v2.9。
  • 停用了 FBSDKShareLinkContent 的 title、description、caption 和 image 字段。请采取适当的措施停用这些字段。

Audience Network

修复内容

  • 修复了 FBMediaView 中图片广告内容无法渲染的关键漏洞。
  • 修复了 Xcode 8.3 模块映射构建错误

Account Kit

添加内容

  • 为电话号码新增语音通话备用验证。
  • 新增了两种皮肤类型:当代风与半透明
  • 调用退出端点以实现退出操作

修改内容

  • 新增额外记录功能
  • 更新重发短信流程的用户体验
  • 改善了小屏幕体验
  • 改善了披露文本在用户体验中的显示方式
  • 在 title 而非 actionBar 中显示错误消息

修复内容

  • 改进了对从右到左显示的语言(阿拉伯语和希伯来语)的支持
  • 修复了 iOS8 和 iOS9 的用户体验
  • 改进了辅助功能标识符

4.21.0 — 2017 年 4 月 5 日

Audience Network

添加内容

  • 重新设计了插屏广告,并为效果类广告 (DR) 广告和品牌视频广告新增了视频自动播放功能。
  • 新增了对 iOS 应用扩展程序的支持,以便在键盘应用中展示广告。

修复内容

  • 修复了播放视频广告时可能出现的若干内存泄漏问题。

4.20.2 — 2017 年 3 月 16 日

Account Kit

修复内容

  • 修复了 i385 和 x86_64 架构缺失的问题。

4.20.1 — 2017 年 3 月 10 日

Account Kit

修复内容

  • 修复了 App Store 审核流程中语言不受支持的问题。

4.20.0 — 2017 年 3 月 1 日

Facebook SDK

修改内容

  • 更新了 SmartLogin 对话框,并对其进行了本地化。
  • 推送口令现在会立即发送。参阅文档了解更多详情。

Account Kit

添加内容

  • 经典皮肤选项。

修复内容

  • 修复了“重发短信”按钮上的计数器。

修改内容

  • 当未选择主题时,默认用户界面现为经典皮肤,而非旧版默认外观。
  • 微小的视觉变化。

Audience Network

修复内容

  • 将 iOS SDK 静态库的大小缩减至 55MB。
  • 改进了 SDK 质量和性能。

4.19.0 — 2017 年 1 月 25 日

Facebook SDK

修改内容

  • 现在会在 SDK 初始化期间调用 [FBSDKAppEvents activateApp]。无需在代码中调用 activateApp
  • 更新了 FBSDKLoginButton 的外观和风格。参阅升级指南了解更多详情

Account Kit

添加内容

  • 记录国家/地区代码

修复内容

  • 允许在国家/地区代码选择列表中使用 Account Kit 高级用户界面主题设置
  • 确保“继续”按钮在小型设备上可见

Audience Network

添加内容

  • 向 FBMediaView 添加了 aspectRatio 属性,以便为希望根据视图内容尺寸调整应用布局的发行商提供参考。发行商可以借此调整广告单元在动态版块中的显示高度,或为纵向视频广告展示专属布局等等。宽高比表示宽度与高度的比值,应大于或等于 0.0。
  • 添加了 applyNaturalWidth 和 applyNaturalHeight,它们会根据 aspectRatio 属性和当前 FBMediaView 的尺寸调整宽度或高度。请查看原生广告开发者文档,详细了解如何使用这些新 API。
  • 向 FBAdSetting 添加了 setMediaViewRenderingMethod,以便为 FBMediaView 配置渲染方法。可用的渲染方法有 FBMediaViewRenderingMethodDefault、FBMediaViewRenderingMethodMetal、FBMediaViewRenderingMethodOpenGL 和 FBMediaViewRenderingMethodSoftware。

修复内容

  • 修复了完整性检查中的性能和稳定性问题。
  • 改进了视频广告播放的稳定性。
  • 切换了 iPhone 5 设备上 OpenGL 模糊图片渲染的软件回退机制,以防止发生崩溃。
  • 修复了点击横幅广告/插屏广告链接时偶尔可能显示白屏的漏洞。
  • 修复了无法调用 FBInstreamAdViewDelegate 的 adViewDidClick 回调方法的漏洞。
  • 修复了先前版本中报告的部分内存泄漏和崩溃问题。

4.18.0 — 2016 年 11 月 30 日

Facebook SDK

修复内容

  • 改进了网络连接不良时的设置获取功能
  • 更新了日志事件的命名

Account Kit

修复内容

  • 修复了所有输入屏幕上的键盘行为

4.17.0 — 2016 年 10 月 26 日

Facebook SDK

添加内容

  • 向 FBSDKAppEvents 新增了 setUserID: 和 updateUserProperties:。参阅此处了解更多详情。
  • 针对 iOS 10,向 FBSDKApplicationDelegate 添加了 application:openURL:options:。

修复内容

  • 修复了在 FBSDKLoginManager 回调中未调度即展示用户界面时可能出现的问题。
  • 修复了 FBSDKLoginManager 过早被释放的漏洞。
  • 修复了旧版 Xcode 的构建版本问题。PR 845

Audience Network

修复内容

  • 修复了中等矩形广告的布局限制
  • 修复了原生广告模板中选择器缺失导致的崩溃问题

Account Kit

修改内容

  • 更新了会话记录功能
  • 删除了取消回调
  • 更新至使用 1.1 Account Kit 图谱端点

4.16.1 — 2016 年 10 月 10 日

Facebook SDK

修改内容

  • 更新至使用图谱 API 2.8 版

Audience Network

修复内容

  • 修复了 FBNativeAdDelegate 的 nativeAdDidClick: 未被调用的问题
  • 移除了导致 App Store 审核被拒的 UIImagePickerController 引用

4.16.0 — 2016 年 9 月 27 日

Facebook SDK

添加内容

  • 新增了 FBSDKSettings setGraphAPIVersion:,以支持全局设置不同图谱 API 版本。

Audience Network

添加内容

  • 新增了 FBInstreamAdView,以支持视频插播广告版位

修改内容

  • 停用了 FBMediaView 的 autoplayEnabled 设置器,转而采用服务器端控制选项
  • 改进了展示/点击可靠性
  • 更新了 FnF 视频播放器库,以提升可靠性和性能

修复内容

  • 移除了 FnF 视频播放器库中对 PHAsset 的无意引用,因为它可能导致 App Store 静态分析失败

Account Kit SDK

修改内容

  • 改进了重发流程,让用户更清楚何时会收到新的确认短信

修复内容

  • 改进了小屏幕设备(iPhone 4s、iPhone 5)的布局

4.15.1 — 2016 年 9 月 9 日

Facebook SDK

  • 针对 Xcode 8 GM 和 iOS 10 进行了更新。
  • 停用了 FBSDKAppEventsUtility fetchDeferredAppInvite:。

4.15.0 — 2016 年 8 月 26 日

Facebook SDK

停用内容

  • 停用了 FBSDKAppGroupAddDialog 和 FBSDKAddGroupJoinDialog 接口。

修改内容

  • 自 NSURLConnection 起,SDK 现在使用 NSURLSession 而非 NSURLConnection 来发起图谱 API 请求。

修复内容

  • PR 836 - 向 WebView 传递正确的登录参数
  • 修复了 iPad 设备通过 FBSDKLoginButton 退出时可能崩溃的问题。
  • 修复了使用 Cocoapods 时的本地化问题
  • 现通过 FBSDKShareAPI 分享照片时,将返回单张照片的编号,而此前 SDK 返回的是相册帖子的编号。

Audience Network

添加内容

  • 改进了可见性调试信息

修改内容

  • 更改了应用商店 SKStoreProductViewController,允许除倒置外的所有方向
  • 移除了 SDK 中未使用的组件
  • 对 FBAdEnvironmentData 进行了清理与优化

修复内容

  • 进一步修复了导致 FNF / AVFoundation 混合对象崩溃的 FBAdConfigManager 时序问题
  • 处理了因无效用户代理而引发的附加错误状况
  • 修复了因在两个不同位置检测方向而导致插屏广告渲染方向错误的问题
  • 减少了有效情况下 FBAdConfigManager 中的错误记录
  • 修复了客户端事件记录过程中的崩溃问题

Account Kit SDK

修复内容

  • 确保在用户按下 Cancel 时调用 viewControllerDidCancel 委托方法
  • 修复了 iOS 10 的渲染问题

v4.14.0 — 2016 年 7 月 13 日

Facebook SDK

修改内容

  • 更新至使用图谱 API v2.7
  • 针对 FBSDKCoreKit、FBSDKLoginKit 和 FBSDKShareKit 添加了动态框架目标和 Carthage 支持。

修复内容

  • 使用 UIAlertController 替换了已停用的 UIActionSheet
  • 修复了撤销全部权限后头像为空的问题

Audience Network

添加内容

  • 改进了 SKStoreProductViewController,提升了加载可靠性并增加了自动超时功能

修复内容

  • 尺寸与性能改进
  • 修复了 FBAdConfig 的时序问题,该问题会导致 AVFoundation 与 FNF* 对象被错误地同时使用,进而引发“未知选择器”的崩溃
  • 从模块映射中移除了 "objc_arc" 标记

AccountKit

修复内容

  • 更新了 viewControllerForLoginResume 的方法签名

v4.13.1 — 2016 年 6 月 16 日

Audience Network

修复内容

  • 性能与尺寸改进
  • 移除了不适用于发布版本的内部调试工具 (FBAdThreadWatchdog)

v4.13.0 — 2016 年 6 月 15 日

Audience Network

修复内容

  • 修复了视频库中存在冲突的选择器 (dataAvailable)
  • 修复了视频库中的死锁问题
  • 修复了罕见情况下 FBAdConfigManager 线程问题可能导致崩溃的问题 修复了因 FBAdConfigManager 的线程问题导致的偶发性崩溃
  • 性能优化与改进

v4.12.0 — 2016 年 5 月 19 日

Facebook SDK

添加内容

  • 添加了 [FBSDKShareAPI.accessToken],以允许更改分享所用的访问口令(拉取请求 826)

修改内容

  • 现在,初始登录流程将传递“rerequest”标记,以便在登录对话框中显示之前已被拒绝的权限请求

修复内容

  • 修复了 AppEvents 可能因缺少会话编号而崩溃的问题。
  • 修复了在某些情况下访问口令过期日期与刷新日期相同的漏洞。

Audience Network

添加内容

  • 为 FBMediaView 新增了高性能视频播放器,采用与 Facebook 应用相同的技术(彻底解决了用户界面卡顿的问题)
  • 为 FBMediaView 新增了基于 Metal 的高性能模糊图片渲染器(并提供 OpenGL 作为备用渲染方案)
  • 新增了依赖项 - libxml2 和 C++ 运行时

修改内容

  • 改进了视图控制器错误检测功能

修复内容

  • 当自动播放功能被禁用时,FBMediaView 会显示封面图片,而非视频的第一帧
  • FBMediaView 现在能够为不同宽高比的轮播图片添加模糊效果(如有需要)
  • FBMediaView 会根据轮播图片的媒体缓存标记进行操作
  • 修复了 FBNativeAdsCachePolicyAll 媒体缓存标记
  • 修复了 iOS 7 设备上视频旋转为横向模式时停止播放的问题
  • 修复了视频结束后无法重新播放的问题

AccountKit

添加内容

  • 为 AccountKit 新增了 Cocoapods 支持
  • 新增了设置主题 headerButtonTitleColor 的功能。
  • 新增了在主题中指定自定义内容边距的功能
  • 新增了在高级用户界面自定义中自定义文本位置的功能
  • 新增了在高级用户界面自定义中取消登录的功能

修复内容

  • 修复了国家/地区代码列表中风格化标题的渲染问题
  • 修复了风格化电子邮件输入字段的渲染问题
  • 修复了高级用户界面主题设置中的漏洞,该漏洞导致电子邮件验证屏幕报告错误的步骤

v4.11.0 — 2016 年 4 月 12 日

Facebook SDK

添加内容

  • 新增了 -[FBSDKAppEvents logPushNotification*] 和 -[FBSDKAppEvents setPushNotificationsDeviceToken:]。参阅推送营销文档了解更多详情。
  • 新增了 -[FBSDKAppLinkUtility fetchDeferredAppInvite:],以支持在 iOS 上发布中转应用邀请应用链接;并新增了 FBSDKAppInviteContent.promotionCode 和 FBSDKAppInviteContent.promotionText,以便于在邀请中添加优惠码。参阅应用邀请文档了解更多详情。
  • 新增了 -[FBSDKProfile loadCurrentProfileWithCompletion:]
  • 新增了 FBSDKHashTag 和 FBSDKShareMediaContent 以支持分享话题标签和混合内容(例如照片和视频)。参阅分享文档了解更多详情。
  • 新增了 FBSDKShareLinkContent.quote 以支持从链接分享引文。
  • 新增了 FBSDKShareVideo.previewPhoto 以便用照片来代表视频。

修改内容

  • 更新至使用图谱 API v2.6。
  • 提升了 FBSDKAppEvents 中的会话追踪精度,包括一个用于确定会话超时阈值的可配置值(位于应用的 Facebook 分析设置中)。
  • 如果应用的 plist 文件中配置了错误的方案,SDK 将抛出异常。
  • 更新了 xctool 和 Bolts (v1.7) 子模块。

修复内容

  • 修复了对 Cocoapods 0.39 和 1.0.0-beta6 的支持
  • 修复了 FBSDKAppEventsDeviceInfo 中静态变量作用域错误的问题,这些变量此前被错误地定义为全局作用域。

Audience Network

添加内容

  • 为原生广告新增了视频预缓存功能

修改内容

  • 将全屏视频播放器更改为从内嵌播放器的当前时间开始播放,而非从头开始

修复内容

  • 修复了 iOS 7 中插屏广告渲染方向错误的问题

AccountKit

FBNotifications

v4.10.1 — 2016 年 3 月 16 日

Facebook SDK

  • 修复了某些受影响场景下应用事件的时区精度问题。

Audience Network

  • 改进了 Xcode 7.3-beta 的兼容性
  • 将功能配置加载移至首次调用 SDK 时
  • 将功能配置的加载日志级别从错误级别更改为调试级别
  • 修复了关闭 AdChoices 视图时可能发生崩溃的问题
  • 禁用了模块支持,以修复链接器警告过多的问题

4.10.0 — 2016 年 2 月 10 日

Facebook SDK

修改内容

  • 将 Bolts 子模块更新至 1.6。
  • 不再需要为 Facebook 服务器设置 App Transport Security 白名单。

修复内容

  • 修复了 FBSDKWebDialog 的渲染问题(修复了边框对齐问题)。
  • 修复了在图谱请求中覆盖显式“locale”参数的漏洞。
  • 从 FBSDKLoginKit 中移除了开发团队编号(GitHub 拉取请求 #813:@IgorOvechko)。

Audience Network

添加内容

  • 向 FBMediaView 新增了对轮播广告的支持。

修复内容

  • 修复了 SFSafariViewController 不分发已取消事件的问题。
  • 修复了 FBNativeAdTableViewCellProvider 的原生广告注册问题。
  • 修复了 FBAdURLSession 中的偶发性崩溃问题。
  • 修复了从 C 字符串转换为 NSString 时的内存泄漏问题。
  • 修复了网络可达性中的内存泄漏问题。
  • 修复了图片网址无效时 FBAdCache 中的内存泄漏问题。
  • 修复了在 iOS 7 中使用 [NSString containsString:] 可能导致崩溃的问题。

v4.9.1 — 2016 年 1 月 16 日

修复内容

  • 修复了所有框架的 bitcode 支持功能。

v4.9.0 — 2016 年 1 月 13 日

Facebook SDK

添加内容

  • 新增了 FBSDKCatalog 样本应用。
  • 新增了用于构建 tvOS 应用的 FBSDKTVOSKit.framework。参阅 tvOS 指南了解更多详情。

修改内容

  • 将 Bolts 子模块更新至 1.5,并将 OHHTTPStubs 子模块更新至 4.6。

修复内容

  • 修复了 FBSDKLikeControl 的社交语句,使其能够正确遵循区域设置。
  • 修复了某些情况下 FBSDKAppEvents 不发送归因数据的漏洞。
  • 修复了 FBSDKLoginButton 委托对象,以仅在使用按钮登录时接收 loginButtonWillLogin:。
  • 修复了 FBSDKAppEvents 中导致当从后台线程发出 activateApp 时无法发送相关事件的漏洞。
  • 修复了 README 文档(GitHub 拉取请求#810:@orta)。
  • 修复了会将不新增权限的请求误判为取消操作的登录漏洞。
  • 修复了有关默认高度的 FBSDKLoginButton 头文件注释(GitHub 拉取请求#804:@revolter)。
  • 修复了 FacebookSDKStrings.bundle 中缺失的希伯来语本地化内容
  • 修复了对 Cocoapods-1.0.0-beta2 的支持
  • 修复了 Xcode 7.2 的 ENABLE_BITCODE 标记

Audience Network

修改内容

  • 移除了 StoreKit 依赖项。
  • 更新了网络功能以使用 NSURLSession。
  • 改进了 AVPlayer/AVPlayerItem 的性能,视频滚动性能获得小幅提升

修复内容

  • 修复了 CGColorGetComponents 的堆溢出漏洞
  • 修复了定时器导致崩溃的偶发性问题
  • 修复了 iPad 设备上状态栏的可见性会发生变化的问题
  • 修复了表格视图中原生广告模板的手势识别器被移除的问题
  • 修复了在主线程上访问用户界面时出现崩溃的问题
  • 修复了插屏广告或横幅广告会吞噬 WKWebView 渲染错误的问题
  • 修复了无用的模块调试信息可能触发链接器警告的问题
  • 修复了独立使用时 FBNativeAdView 无法加载内容的问题

v4.8.0 — 2015 年 11 月 11 日

Facebook SDK

添加内容

  • FBSDKShareAPI 现在可以分享通过文件网址初始化的 FBSDKShareVideo 内容。

修改内容

  • 将 OHHTTPStubs 更新至 3.1.12。
  • 将部分内部头文件的范围从“Private”重新整理为“Project”。

修复内容

  • 修复了 sharePhotoContent 无法在 FBSDKShareAPI 中设置 peopleIds 的问题。
  • 修复了 shareVideoContent,以在 FBSDKShareAPI 中拒绝设置 peopleIds 和 placeId(在图谱 API 视频端点中不受支持)。

Audience Network

修改内容

  • 改进了 FBMediaView 的性能 — 若媒体视图的封面图片已达到或接近 1.9:1 的理想比例,则完全跳过图片模糊处理。

修复内容

  • 修复了当使用 WebKit 渲染插屏广告时(iOS 8 + 9 设备),插屏广告展示记录会出现争用条件的问题。
  • 修复了当 UIWindow 存在多个实例或未处于窗口级别 UIWindowLevelNormal 时,无法获取当前视图控制器的问题。
  • 通过移除对 AVFoundation、CoreMedia 和 CoreMotion 的直接引用解决了链接器错误,现在它们会在运行时延迟加载。

v4.7.1 — 2015 年 10 月 26 日

Facebook SDK

本次发布未进行二进制更改。

修复内容

  • 修复了登录 podspec 的问题。

v4.7.0 — 2015 年 10 月 7 日

Facebook SDK

停用内容

  • 停用了 [FBSDKProfile imagePathForPictureMode]。新增了 [FBSDKProfile imageURLForPictureMode]。

添加内容

  • 新增了 [+FBSDKRequestConnection setDefaultConnectionTimeout:],以允许为所有请求设置默认超时值。

修改内容

  • SDK 现在支持图谱 API v2.5。参阅图谱 API 更新日志了解详情。
  • 发送至 GameRequestDialog 委托对象的完成结果现在将包含一个“to”键,其中的 NSArray 值包含收件人信息。
  • 将 Bolts 子模块更新至 1.3.0
  • 将 FBSDKAccessTokeninit 和 new 注释为 NS_UNAVAILABLE。

修复内容

  • 修复了 SDK 示例中 FBSDKApplicationDelegate application:didFinishLaunchingWithOptions: 的使用方式。
  • 修复了使用 FBSDKLoginBehaviorWeb 且取消登录时,FBSDKLoginManager 中可能发生 EXEC_BAD_ACCESS 的问题。
  • 修复了 FBSDKLoginBehavior 上的头文件注释。
  • 修复了使用 CocoaPods 针对 iOS 9 进行编译时可能出现已停用警告的问题。
  • 修复了登录流程中 SFSafariViewController 无法旋转方向的问题。

MessengerShareKit

  • 修改了在当前 Messenger 版本不支持分享功能的情况下,向用户显示的提醒信息。

Audience Network

修复内容

  • 修复了部分设备上展示横幅广告、插屏广告或链接式广告时内存消耗过大的问题
  • 改进了横幅广告和插屏广告的性能
  • 修复了 3x 设备上 FBMediaView 模糊缩放的问题
  • 修复了刷新阈值错误的处理

v4.6.0 — 2015 年 9 月 10 日

Facebook SDK

停用内容

  • 停用了 FBSDKLoginManager 和 FBSDKAppInviteDialog 上的若干方法,取而代之的是接受 fromViewController 参数的新重载版本。这解决了 iOS 9 上可能出现的各种显示问题。

添加内容

  • SDK 支持多种 iOS 9 功能,包括 Bitcode。此外,SDK 对话框(如登录、赞和分享对话框)会根据设备自动确定最佳用户界面,包括使用 SFSafariViewController 取代 Safari。请参阅 iOS 9 准备指南。

修改内容

  • 更新了子模块,包括 Bolts (1.2.2)。
  • 从框架架构中移除了 armv7s 切片。
  • 新增了 [FBSDKLoginButtonDelegate loginButtonWillLogin:]。

修复内容

  • 修复了 FBSDKLoginButton 选定样式的问题。
  • 修复了当测试用户没有访问口令时 FBSDKTestUsersManager 发生崩溃的问题。
  • 修复了可能导致部分登录尝试失败并返回错误代码 308 的登录漏洞。
  • 移除了示例框架搜索路径中的旧安装路径。
  • 修复了在指定 click_time 参数时延迟应用链接的处理问题(GitHub 拉取请求 #789:@kookiekrak)。
  • 修复了在处理错误恢复时可能过早关闭登录对话框的漏洞。

MessengerShareKit

  • 更新为支持 iOS 9,包括 bitcode。
  • 停用了 [FBSDKMessengerSharer messengerPlatformCapabilities]

Audience Network

  • 更新为支持 iOS 9,包括 bitcode。

修复内容

  • 改进了全屏视频视图的本地化
  • 改进了 FBMediaView 的图片性能

v4.5.1 — 2015 年 8 月 13 日

Facebook SDK

修复内容

  • 修复了使用 iOS7 时可能导致崩溃的漏洞。

v4.5.0 — 2015 年 8 月 10 日

Facebook SDK

修改内容

  • SDK 现在以 zip 压缩包而非安装程序的形式分发。其中包含一个用于手动安装 Xcode 文档集的脚本。
  • SDK 会进行额外的日志记录,以准备迎接 iOS 9。请参阅 iOS 9 准备指南。
  • 当指定了 FBSDKShareDialogModeNative 模式,且设备上的 Facebook 应用不支持该内容时,FBSDKShareDialog 现在会自动尝试使用 FBSDKShareDialogModeBrowser 模式。
  • 更新了子模块 OHHTTPStubs、OCMock 和 xctool。

修复内容

  • 修复了当从多个线程记录不同事件的 FBSDKAppEvents 时可能导致崩溃的漏洞。
  • 修复了 FBSDKGraphRequestConnection 中的一处漏洞:该漏洞会导致即使网络出错,也会调用 requestConnectionDidFinishLoading 方法。

MessengerShareKit

添加内容

  • 新增了在 Messenger 中将静态和动态图片渲染为贴图的功能。

修改内容

  • 停用了 [FBSDKMessengerSharer messengerPlatformCapabilities],以准备迎接 iOS 9。不必先检查 Messenger 的版本是否可用,而是直接发送内容,SDK 会自动提醒用户是否需要更新 Messenger。

Audience Network

添加内容

  • 为 FBMediaView 添加了视频支持。

修复内容

  • 修复了 iOS 7 设备上插屏广告的展示方向问题。
  • 修复了因后台使用 OpenGL 而导致 FBMediaView 崩溃的问题。

v4.4.0 — 2015 年 7 月 7 日

Facebook SDK

修改内容

  • SDK 现在支持图谱 API v2.4。参阅图谱 API 更新日志了解详情。例如,图谱端点返回的默认字段数量已减少,您应始终明确请求所需字段。
  • 将 Bolts 更新至 1.2。
  • 新了 FBSDKShareLinkContent 的头文件,以澄清参数的用法。
  • 修改了 RPSSample,新增了游戏结果 FBSDKAppEvents。
  • 移除了 FBSDKAppGroupContent 中未使用的 groupID 属性。

修复内容

  • 修复了使用分享对话框在开放图谱动态中标记人物或地点时出现的漏洞。
  • 修复了 FBSDKShareDialog 在分享前不验证内容的漏洞。
  • 修复了 RPSSample,以正确为其分享对话框分配委托。

v4.3.0 — 2015 年 6 月 25 日

Facebook SDK

添加内容

  • 为 FBSDKShareAPI 新增了 graphNode 属性。

修改内容

  • 通过集成式分享表单分享的内容现在会获得正确的应用归因。

修复内容

  • 修复了通过 FBSDKLoginManager 回调中的分享对话框分享内容(如照片)时发生崩溃的问题。
  • 修复了在 iPad 弹出窗口中渲染 FBSDKLoginButton 时发生栈溢出的问题
  • 修复了使用赞控件时的 NSKeyedUnarchiver 控制台错误。
  • 修复了 refreshCurrentAccessToken 中的漏洞,以避免 currentAccessToken == nil 时出现错误逻辑。
  • 修复了使用 FBSDKProfilePictureView 时初始尺寸为 0 导致的控制台错误。

MessengerShareKit

修复内容

  • 修复了可能截断包含 & 或 ; 符号的元数据的漏洞。

Audience Network

修改内容

  • 提升了图片获取与原生广告模板的性能

v4.2.0 — 2015 年 5 月 28 日

Facebook SDK

添加内容

  • 新增了可选的 FacebookSDKStrings.bundle,为国际化应用提供本地化字符串支持

修改内容

  • 针对 Xcode 6.3 更新了项目
  • FBSDKTestUsersManager 现在能够正确实现测试用户账户结果的分页浏览功能。
  • 停用了 FBSDKAppInviteContent.previewImageURL、FBSDKGameRequestContent.to 和 FBSDKGameRequestContent.suggestions,以避免出现非公开选择器验证警告
  • 移除了 FBSDKShareAPI.createObjectsWithClientToken
  • 改进了 Facebook 分析报告
  • 增强了 OAuth 登录流程安全性
  • 修改了 RPS 样本应用:为开放图谱分享功能新增了玩家手势图片
  • 修改了 Iconicus 样本应用:新增了解析锁定位置(来自应用链接)的功能

修复内容

  • 为 FBSDKTestUsersManager 修复了模块映射
  • 修复了 iOS 7 中网页视图对话框的横向显示问题
  • 修复了一个漏洞:该漏洞导致不正确地尝试为客户端口令请求应用错误恢复
  • 修复了阻止将 fb:explicitly_shared 用于开放图谱操作的漏洞。

FBSDKMessengerShareKit

修复内容

  • 在扩展程序中尝试使用 Messenger SDK 时发生编译时错误
  • 将 FBSDKMessengerUrlHandler.h 重命名为 FBSDKMessengerURLHandler.h,以适应区分大小写的文件系统

Audience Network

修复内容

  • 修复了针对 iOS 6 进行构建时可能出现的编译时错误
  • 修复了 FBAdView 必须显式设置帧的问题
  • 修复了 FBNativeAdsManager 中偶尔将无效广告返回为有效广告的问题
  • 修复了 FBNativeAdTableViewCellProvider 创建的单元格的选择样式

v4.1.0 — 2015 年 4 月 30 日

Facebook SDK

添加内容

  • 新增了 [FBSDKAccessToken refreshCurrentAccessToken] 以便刷新当前口令。
  • 新增了 FBSDKTestUsersManager,以简化测试用户的测试编写工作。
  • 为 FBSDKSharePhoto 新增了属性 caption。
  • 为 FBSDKShareAPI 新增了属性 message。

修改内容

  • FBSDKShareAPI 现在会在控制台中提示缺少“publish_actions”,而不是立即抛出异常。
  • 停用了 Facebook-iOS-SDK podspec,取而代之的是独立的 FBSDKCoreKit、FBSDKLoginKit 和 FBSDKShareKit podspec,以便能够支持 Cocoapods 0.36。
  • SDK 会在缺失 FacebookAppID 或网址方案时抛出异常。
  • 移除了 FBSDKAppInviteContent initWithAppLinkURL:。使用标准 init 并设置 appLinkURL 属性。

修复内容

  • 修复了阻止从应用委托生命周期事件调用登录功能的漏洞。
  • 修复了阻止将 fb:explicitly_shared 用于开放图谱操作的漏洞。
  • 修复了系统账户存储登录流程中导致不重新提示缺少权限的漏洞。
  • 修复了分享 API 中处理参数内 NSURL 和 NSNumber 的漏洞。
  • 修复了导致 FBSDKGraphRequestConnection 的委托对象无法接收 'requestConnectionDidFinishLoading:' 消息的漏洞。
  • 修复了可能导致对话框在完成前过早释放的漏洞。
  • 更新了 Bolts 子模块的参考,纳入了尝试将 SDK 与 Swift 配合使用时模块映射生成的解决方案。

FBSDKMessengerShareKit

  • FBSDKMessengerShareKit 现在支持 GitHub(在 facebook-ios-sdk 仓库的 FBSDKMessegerShareKit 文件夹中)和 Cocoapods(使用 pod 'FBSDKMessengerShareKit')

修复内容

  • 修复了 Messenger 按钮的颜色,使其呈现透明背景。

修改内容

  • 删除了 FBSDKMessengerURLHandlerCancelShareContext.h。改为使用 FBSDKMessengerURLHandlerCancelContext.h。

Audience Network

添加内容

  • 用于辅助批量检索广告的 FBNativeAdsManager。
  • 提供可配置的原生广告视图的 FBNativeAdView
  • 提供横向滚动体验的 FBNativeAdScrollView,其可承载 FBNativeAdView 或自定义原生广告视图。
  • 用于辅助实施原生广告的帮手视图:FBAdChoicesView、FBMediaView和 FBAdStarRatingView。
  • 用于在 UITableView 中使用原生广告的帮手工具。

修复内容

  • 修复了各种漏洞

v4.0.1 — 2015 年 4 月 2 日

Facebook SDK

添加内容

  • 新增了对 clang 模块的支持;支持使用 @import
  • 在 Swift 中使用时,无需再配置 Obj-C 桥接头文件
  • 新增了名为 Iconicus 的样本应用,用于演示托管的应用链接功能

修复内容

  • 修复了照片内容的分享表单验证功能

v4.0 — 2015 年 3 月 25 日

iOS 版 Facebook SDK v4.0 是一次重大的版本升级。参阅从 iOS SDK 3.x 升级到 4.x。

  • 相较于 v3.x,所有类均已重命名或移除,本更新日志将从语义层面描述增删内容。
  • 不再支持 iOS 6。iOS 版 Facebook SDK v4.0 仅支持 iOS 7 或更高版本。

添加内容

  • FBSDKCoreKit.framework - 该框架提供通用 SDK 类,以及应用事件和图谱 API 请求的 API
  • FBSDKProfile - 获取公开个人主页数据的可靠方法。
  • 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])。