iOS和iPad OS 14 Beta发行说明
更新您的应用程序以使用新功能,并针对API更改测试您的应用程序。
总览
iOS&iPadOS 14 SDK支持开发运行iOS&iPadOS 14的iPhone,iPad和iPod touch设备的应用程序。SDK与Xcode 12 beta捆绑在一起,可从Beta软件下载处获得。有关Xcode 12 beta兼容性要求的信息,请参阅《Xcode 12 Beta发行说明》。
一般
已知的问题
重要
从先前版本的iOS&iPadOS升级到iOS&iPadOS 14 beta可能会花费比预期更长的时间。如果更新中断,则可能会发生数据丢失。
- 可能需要macOS Big Sur 11 beta或Xcode 12 beta才能同步或更新运行iOS&iPadOS 14 beta的设备。
Accessibility
已知的问题
- 您可能无法使用“完全键盘访问”来激活Siri或触发“辅助功能快捷方式”。
- 非助听器可能会意外出现在“助听器”设置中。
App Store
新功能
-
SKOverlay允许下载应用程序而不必离开当前应用程序。您也可以轻按叠加层以在App Store中查看应用程序。在应用程序剪辑中,SKOverlay使用户可以从应用程序剪辑中下载相应的完整应用程序。
-
现在,您只需在“设置”中点击您的沙盒帐户,就可以管理订阅,测试升级,降级和取消,以及重置测试帐户的入门优惠资格。
已知的问题
- 避免调用现有的presentCodeRedemptionSheet() API,直到您能够创建支持的代码。
- 使用GM版本的iOS和iPad OS 13来加载API。SKAdNetwork
ARKit
已知的问题
- 目前不支持使用新的ARGeoTrackingConfiguration重放ARKit ARSession。
AVFoundation
新功能
- AVAudioSession的一个新功能允许客户从内置麦克风请求立体声极地模式。选择立体声极地模式的客户端必须调用AVAudioSession新方法来指定立体输入方向。有关更多信息,请参见AVAudioSession。
已知的问题
- AVAssetDownloadTask选项、AVAssetDownloadTaskMinimumRequiredPresentationSizeKey和AVAssetDownloadTaskAllowHighDynamicRangeKey目前不可用。
Calendar
已知的问题
- 当前无法创建自定义重复发生的事件。
Core Media
已知的问题
- 当前Safari或Webkit不支持低延迟的HLS。
- 使用内置合成器来过渡效果的应用程序会在第一个剪辑之后卡住。导出视频也会受到影响。
Core ML
弃用
- 自动生成的模型接口上的默认初始化器已被弃用,取而代之的是init(configuration:)。请使用init(configuration:)或新引入的.load()方法,并适当地处理模型加载错误。
DeviceCheck(设备检查)
已知的问题
- 当实现DCAppAttestService类时,调用attestKey(_:clientDataHash:completionHandler:)方法当前返回一个serverUnavailable错误。
ExposureNotification
已知的问题
- ExposureNotification目前在ios14测试版中还不能使用。使用iOS 13.6测试版预览最新功能。
Fonts
已知的问题
- 从iOS和iPadOS 14 beta开始,使用配置文件安装的字体只对支持iOS和iPadOS 13引入的字体api和权利的应用开放。如果你的应用程序提供了一个自定义的字体选择界面,它就不能再访问通过配置文件安装的字体了。有关参考,请参阅WWDC 2019会议字体管理和文本缩放。
Game Controller
已知的问题
- 如果你的应用导入了GameController框架,你可能会看到一个虚假的编译器警告,提示你应该“将这个问题报告给GameController的所有者”。你不需要采取行动。
HealthKit
新功能
- 新的数据类型可用于跟踪移动性指标,包括步行速度、步长、双支持百分比等。
- HKElectrocardiogram可读取Apple Watch记录的心电图电压数据和分类。
已知的问题
- 目前无法请求授权共享HKQuantityTypeIdentifierStairDescentSpeed。
Home screen
已知的问题
- 在从右到左的语言中,App库的节标题没有像预期的那样定位。
- 聚光灯可能不会像预期的那样出现。
解决方法:重启你的设备。
HomeKit
Known Issues
- Home可能会在首次推出时意外退出。
解决方法:重复启动应用程序,直到它保持打开状态。 - 以下已弃用的Swift api目前在iOS和iPadOS 14测试版中不可用:
HMHomeManager.addHome(withName:completionHandler:),替换为HMHomeManager.addHome(name:completionHandler:); HMHome.addActionSet(withName:completionHandler:),替换为HMHome.addActionSet(name:completionHandler:); HMHome.addRoom(withName:completionHandler:),替换为HMHome.addRoom(name:completionHandler:); HMHome.addServiceGroup(withName:completionHandler:),替换为HMHome.addServiceGroup(name:completionHandler:);
HMHome.addZone(withName:completionHandler:),替换为HMHome.addZone(name:completionHandler:);
Localization
新功能
- 支持三种简化的五笔输入法:五笔86、五笔98和五笔新世纪。
- QuickPath现在支持在简体中文拼音键盘上滑动英文单词。
- 使用日文假名键盘输入数字已得到显著增强。
- CarPlay键盘支持已经为超过100种额外的语言添加。
- 爱尔兰盖尔语和挪威Nynorsk键盘现在支持自动校正。
已知的问题
- 某些语言可能会出现剪裁或未对齐的布局。
- 某些语言可能会显示未本地化的文本。
Location
已知的问题
- Widgets可以访问位置信息,即使NSWidgetWantsLocation键不在它们的Info.plist中。
- 在Swift中,CLLocationManager的authorizationStatus()属性被错误地暴露为方法而不是属性。
- 应用程序提供的用法描述字符串以粗体显示在位置提示符中。
- requestTemporaryFullAccuracyAuthorization(withPurposeKey:completion:)可能会在accuracyAuthorization属性更新之前调用其完成处理程序。
Logging
新功能
- 新的api可以使用os_log从Swift作为框架操作系统的一部分:
注意:新api不能返回部署;但是,现有的os_log API仍然可以用于后部署。
Maps
已知的问题
- 如果您已经授权地图使用您的大致位置,您将提示授予地图临时访问您的精确位置时,执行某些操作,如查找方向。如果你授权使用你的Apple Watch来使用你的精确位置,那么你的手机就不会被授权。如果您想授予对这两个设备的访问权限,请使用您的手机响应提示。
- 目前在拥堵区或车牌限制区还不能使用警报。
- 在模拟器中,MapKit视图意外地呈现全黑,只有标签可见。
- 添加到我车辆上的牌照可能会被意外删除。
- 地图可能出乎意料地不能提供驾驶方向。
解决方法:重新启动你的设备,并尝试路由再次。
Messages
已知的问题
- 当切换到表情符号键盘时,iMessage应用程序的图标不会隐藏。
- 您可能会收到一个警告,指示已达到固定会话的最大数量。
解决方法:使用拖放来固定对话,而不是使用滑动动作或触觉触摸的快速动作。
Metal
已知的问题
- 使用着色器验证时不能使用API验证。
Music
已知的问题
- 如果您的设备受EU音量限制,您可能无法将耳机音量增加到建议的限制以上。
解决方法:使用控制中心的音量滑块代替。
Networking
新功能
- 实验HTTP/3支持可以在Safari设置>高级>实验特性中启用,也可以在开发人员设置中启用系统范围内的支持。
已知的问题
- HTTP/3草案29还不支持。
Notification Center(通知中心)
已知的问题
- 触摸和保持邮件通知不会像预期的那样显示邮件的内容。
PencilKit
已知的问题
- 在升级到iPadOS 14测试版并启用中文或英文键盘后,你可能需要强制关闭一个应用程序来使用涂鸦或复制文本。
Phone and FaceTime
已知的问题
- 使用iPadOS 14测试版、macOS Big Sur 11测试版和watchOS 7测试版进行常规和紧急Wi-Fi通话的T-Mobile美国客户目前还不能使用。
- 控制中心表示“电话”使用麦克风进行蜂窝网络呼叫,但表示“系统”进行Wi-Fi网络呼叫。
- Boost移动客户可能不会收到一些来电。
解决方案:在设置>蜂窝>蜂窝数据选项>语音和数据,开关VoLTE关闭。
Photos
已知的问题
- 模拟器不支持图像搜索。
Safari and Webkit
新功能
- 现在在美国和加拿大都有翻译版本。支持的语言包括英语、西班牙语、简体中文、法语、德语、俄语和巴西葡萄牙语。Safari将根据您的首选语言列表自动检测是否可用翻译。
Screen Time(屏幕使用时间)
已知的问题
- 在选择忽略时间限制后,可能需要几秒钟时间来消除屏幕时间。
- 屏幕时间部件可能不可用。
解决方法:重启你的设备。
Setting (设置)
已知的问题
- 设置>隐私>跟踪中的“了解更多…”链接目前还不能使用。
- 隐私>跟踪功能在被禁用后可能会意外地重新启用。
Siri
已知的问题
- 在关闭应用程序时触发自动化目前是不可用的。
- 搜索“Timer”并点击建议来启动计时器,但计时器并没有像预期的那样启动。
- 在静音模式下使用Siri时,你必须在每个新请求之前点击Siri按钮。
- Siri可能认不出快捷键。
解决方法:在快捷方式应用程序中新建一个快捷方式,然后Siri会再次识别之前创建的快捷方式。 - 当点击编辑时,Siri可能会意外关闭。
- 包含快捷方式的家庭自动化可能无法正常工作。
- Widget配置不适用于采用新的应用程序意图处理API的应用程序。
解决方法:创建一个intent扩展,而不是使用应用程序内的intent处理。 - 使用模拟器时,Siri可能会产生不一致的反应。
解决方法:使用设备而不是模拟器进行测试。
SwiftUI
已知的问题
- 在ios14上进行重构时,SDK会修改custom(_ :fixedSize:)的实例,使其具有动态类型。要创建不随动态类型缩放的字体,请使用font .custom()_:fixedSize:)。
- 与符号图像一起使用的标签可能会出现未对齐。
- 侧边栏列表中的部分可能会出现意想不到的情况。
- 公开小组的形式可能会产生意想不到的结果。
- 由OutlineGroup生成的嵌套公开组可能会产生意外结果。
-
SignInWithAppleButton视图展开以填充其容器。
解决方法:应用一个框架修改器。 - 基于文档的应用程序无法打开文档。
解决方法:使用模拟器而不是在设备上测试。
Third-Party Apps(第三方应用程序)
已知的问题
- 使用JSONKit的应用程序可能会在启动时意外退出。JSONKit的一些分支硬编码私有指针表示的细节,这些细节可能会改变。
解决办法: 使用NSJSONSerialization代替。 - fstab已被移除。应用程序沙箱之外的文件系统内容不能再用于验证。
- 使用NativeScript框架的应用程序可能会在启动时意外退出。NativeScript执行一个不安全的操作来确定一个任意的指针是否是Objective-C对象指针。您可以使用object_getClass(_:)临时解决这个问题,而不是直接读取isa;但是,更新此代码以避免检查任意指针是否是Objective-C对象指针。
Translate (翻译)
已知的问题
- 目前不支持设备模式。
TV
已知的问题
- 目前还不支持iOS和iPadOS 14测试版或tvOS 14测试版通过电视应用订阅频道。
解决方法:使用macOS或iOS的前一个版本、iPadOS或tvOS订阅。
Vision
已知的问题
- VNRecognizedPointsObservation的NSSecureCoding实现目前导致-initWithCoder:失败。
弃用
- VNIdentifiedPointsObservation类不推荐使用。
使用VNRecognizedPointsObservation实例代替。
Voice Control
新功能
- 语音控制现已提供英语(英国)和英语(印度)两种语言。
Widgets(小部件)
已知的问题
- 天气小部件可能会意外地显示库比蒂诺的天气,而不是你当前的位置。
- 触摸并按住窗口小部件时,即使窗口小部件不可配置,也会出现“编辑窗口小部件”选项。
- 字体大小目前无法针对不同的设备大小自动调整。
- 当其父应用程序被阻止时,窗口小部件不会在“屏幕时间”内被阻止。
- frame(width:height:alignment:)目前不能用于视图,包括根级别的VStack和HStack。
- 如果WidgetKit扩展的应用已被授予“使用应用时”的位置访问权限,则在被查看后WidgetKit扩展可以继续访问位置服务长达15分钟。
- 当设备被锁定时,锁定屏幕上的小部件可能会出现意想不到的外观。
- 不能调整现有小部件的大小。
解决方法:删除小部件,并以所需的大小重新添加它。 - 在为大型窗口小部件点击“编辑窗口小部件”后,可能会出现意外的动画。
- 当从Xcode部署一个小部件时,应用程序和其他覆盖层不会在构建和运行时自动消失。
- 直接部署小部件可能会导致在模拟器中过度重新加载时间轴。
- 当直接从Xcode部署小部件时,如果设备的主屏幕已满或目标设备为iPad,小部件可能不会出现。
解决方法:在部署之前,在Today列表中配置您想要测试的类型和大小的小部件。您可能还需要滚动到小部件。 - 使用模拟器时,小部件可能不会出现在小部件库中。
解决方法:使用扩展程序的方案直接调试到Simulator。
网友评论