Xcode 12 Beta 4发行说明
更新您的应用程序以使用新功能,并针对API更改测试您的应用程序。
总览
Xcode 12 beta 4包括适用于iOS 14,iPad OS 14,tvOS 14,watchOS 7和macOS 11的SDK。Xcode 12 beta 4版本支持针对iOS 9和更高版本,tvOS 9和更高版本以及watchOS 2和更高版本的设备上调试。 。Xcode 12 beta 4需要运行macOS Big Sur 11 beta或更高版本的Apple芯片,或运行macOS Catalina 10.15.4或更高版本的基于Intel的Mac。
Apple Clang编译器
弃用
- i386,x86_64和arm的独立系统组装程序已弃用,并且可能在以后的Xcode版本中删除。将
as
命令与-Q
标志一起使用会显示警告,指示您过渡到Clang的集成汇编器和-q
标志。该as(1)
驱动程序将作为调用Clang集成汇编程序以及开发人员安装的所有汇编程序的标准方式保留。(61299833)
资产目录
解决
- 当为使用Mac Catalyst构建的应用程序选择“为Mac优化界面”并且没有Mac资产时,Xcode现在仅在不提供Mac Scaled或iPad资产的情况下才使用Universal资产。(63368950)
建立系统
弃用
“构建设置”编辑器不再包含“有效体系结构”构建设置(),不建议使用。而是有一个新的“排除的体系结构”构建设置()。如果项目包括,则该设置将显示在“构建设置”编辑器的“用户定义”部分中。(15145028)
旧版构建系统已弃用,并将在以后的版本中删除。(62742902)
核心ML
弃用
- 不推荐使用Xcode中自动生成的模型接口上的默认初始化程序,而推荐使用
init(configuration:)
。请改用init(configuration:)
或新引入的.load()
方法,并适当处理模型加载错误。(62875309)
调试
已知的问题
在运行iOS 14,iPadOS 14,watchOS 7或tvOS 14 beta 4及更高版本的设备上进行调试,测试和性能分析需要Xcode 12 beta 3或更高版本。尝试在不受支持的操作系统版本上进行开发时,较早版本的Xcode可能会显示错误“无法启动远程服务”。(60850305)
从Xcode构建和运行时,Mac上的iPad和iPhone应用程序可能无法访问按需资源。(62074124)
-
内存图调试器可能会错误地对当前Xcode工作区中SwiftUI应用程序中定义的类型的来源进行分类。当您选择“仅显示工作区中的内容”时,“调试”导航器可能会在错误的部分列出这些类型,并错误地将它们过滤掉。(63899779)
解决方法:取消选择“仅显示工作空间中的内容”以发现所有类型的对象。
打开调试仪表时,Xcode可能会崩溃。(64181692)
-
在Apple芯片上,在模拟设备上调试tvOS应用失败,并显示错误“无法附加到pid”。(65375566)
解决方法:在Apple TV或Intel Mac的模拟tvOS设备中运行该应用程序。或者,编辑运行方案,然后取消选择“调试可执行文件”。
仪器
已知的问题
插入macOS应用程序时,“动画挂钩”模板不会显示挂钩间隔。(61082729)
与运行早期OS版本的模拟设备相比,iOS 14,iPadOS 14,tvOS 14和watchOS 7模拟设备降低了性能,并增加了内存消耗。(65037128)
弃用
-
instruments
现在不建议使用该命令,而建议使用它替换:xctrace
。xctrace
记录,导入和导出Instruments.trace
文件中的数据。(36641078)
界面生成器
新功能
在AppKit应用中,您现在可以编辑情节提要和
.xib
文件的SF符号的渲染模式和符号比例。在图像选择器中选择“ SF符号”时,图像名称下方会展开两个附加属性。要显示支持全色的SF符号,请将“渲染模式”设置为“原始”。(61844681)增加了对新UISwitch属性的支持,和。
已知的问题
- Interface Builder不允许创建经典样式。(65966010)(FB8107534)
弃用
Interface Builder不再提供对“可以同时绘制”属性的访问。您仍可以在代码中使用来配置此行为。(42437767)
QTCaptureView和QTMovieView已被弃用,不再受支持。从情节提要和
.xib
文件中删除这些视图。(64263402)
游乐场
已知的问题
-
Xcode可能会显示文本“ No Editor”,而不是在创建Playground后立即打开其源代码编辑器。(56484197)
解决方法:使用“视图”>“导航器”>“项目”显示“项目导航器”,然后手动选择“游乐场”。
预告片
解决
现在,当您选择通用的“ Any Mac”运行目标时,预览可以正常工作。(64513915)
修复了带有非根源文件的程序包中预览失败的问题。(64628934)(FB7751511)
已知的问题
Xcode不提供macOS小部件扩展的预览。(57990060)
当包含多个预览时,macOS的Live SwiftUI预览将无法交互。(62156572)
您无法在“预览”画布的“窗口小部件”中选择视图。(62517078)
动画可能无法在实时SwiftUI预览中使用。(63333795)
当文件是同时由应用程序和小部件链接的框架的一部分时,SwiftUI预览可能会失败。(63785700)
进行更改之前,可能无法显示macOS的Live SwiftUI预览,除非您单击画布上的Bring Forward按钮。(63865018)
在macOS 11上运行时,Mac Catalyst的实时预览可能会失败。(63998976)
向前移动或显示时,Mac Catalyst出口的实时SwiftUI预览。(64151326)
预览iPad设备的窗口小部件扩展程序可能会在顶部显示多余的空白栏。(64277772)
应用外观修改器时,窗口小部件扩展预览不适合深色外观。(64277915)
项目浏览器
已知的问题
即使macOS不支持App Clip,App Clip方案也提供“ My Mac(为iPad设计)”或“ My Mac(为iPhone设计)”运行目的地。(65702469)
-
调整窗口大小后,“查找”面板可能会停止响应鼠标事件。(66256586)
解决方法:切换到其他文档,然后再返回到您要编辑的文档。
现实作曲家
解决
- 修复了将CSV文件添加到图表资产时在Reality Composer中可能发生的崩溃。(63782093)
弃用
- 由Xcode 12创建的Reality文件只能在macOS 10.15.4或更高版本,iOS和iPadOS 13.4或更高版本以及Reality Composer 1.4或更高版本中加载。(58825031)
签署和分发
已知的问题
已签名为在macOS上本地运行的Mac Catalyst应用程序可能无法在Mac(Rosetta)运行目标上运行。(64421496)
应用剪辑无法再通过“通行证类型ID”权利访问电子钱包通行证。但是,App Clips可以确定电子钱包中是否已经存在特定的通行证,并在必要时提示用户添加通行证。如果您已经将Wallet功能添加到App Clip目标,则可能无法构建或将应用提交到App Store Connect。在目标编辑器的“签名和功能”窗格中删除电子钱包功能,并禁用或删除任何使用此已删除功能的代码。(65244156)
仿真器
新功能
- Simulator现在在watchOS 7上支持64位进程。确保您的项目用于在Intel Mac上针对x86_64进行构建,以及在具有Apple芯片的Mac上针对arm64进行构建。通过此配置,您可以检查代码是否是64位干净的,并可以在不支持32位进程的Apple芯片上模拟watchOS设备。
解决
-
simctl
状态栏覆盖现在可以在运行iOS或iPadOS 13.6或更早版本的模拟设备上使用。(63958080)
已知的问题
在具有
content-available
密钥集的Simulator中模拟推送通知时,系统将调用而不是。(60426170,60974170)(FB7625283)即使Xcode Preferences允许您下载这些较早的运行时,iOS 13,tvOS 13和watchOS 6或更早版本的模拟器也不能在Developer Transition Kit上运行。带有苹果芯片的未来Mac将支持某些较旧的iOS和tvOS模拟器。(66115743)
弃用
在macOS 11中运行时,Simulator支持iOS 11.4或更高版本。(59938106)
用于watchOS 6或更早版本的模拟器需要32位进程,而带有Apple芯片的Mac则不支持。(66352760))
源代码控制
已知的问题
-
如果您在设置Git的作者信息之前创建了Git存储库,则Xcode将无法重命名文件,并且存储库中的每个文件都将被取消跟踪。(64260085)
解决方法:
git
在创建新项目之前,通过Xcode Preferences或命令行设置Git作者信息 。或者,在设置Git作者信息之后创建一个初始提交。
源代码编辑器
已知的问题
-
新的Xcode Source Editor扩展目标不会自动在扩展中设置嵌入。
解决方法:手动嵌入扩展中。
-
Xcode扩展名可能会导致Xcode在启动或启用扩展名时挂起。(61952790)
解决方法:在“系统偏好设置”的“扩展”窗格中禁用Xcode扩展。
弃用
- 为了与macOS 11中的新安全功能兼容,必须使用Xcode 12构建Xcode扩展,并且必须将embed嵌入。使用这些工具重建的Xcode扩展与旧版本的Xcode和macOS兼容。(51822755)
迅速
已知的问题
-
为发布而构建的窗口小部件可能会崩溃。(65862827)
解决方法:设置要在扩展目标的构建设置。将应用程序上载到App Store Connect时,还要在App Store Connect分发选项中取消设置“包括iOS内容的位码”。
迅捷包
已知的问题
-
打开包含程序包引用的工作区时,可能会出现带有消息“数据库已锁定”的程序包解析错误。(61113361)
解决方法:关闭并重新打开工作区。
-
Swift Packages可能不遵守“仅构建Active Architecture”项目的构建设置。(64344067)
解决方法:使用“任何Mac”,“任何iOS设备(arm64)”,“任何watchOS设备”或“任何tvOS设备”目标位置来构建所有适用的设备。
测试中
解决
-
xcodebuild
现在-parallel-testing-worker-count
在并行运行测试时会尊重该选项。(64495567)
已知的问题
-
XCTAssert
并且Objective-C和Objective-C ++中的相关断言宏不再包含self
用于访问当前测试用例的引用。现在,在使用-Wunused-variable
或构建代码时,编译器可能会发出新的警告-Wunused-lambda-capture
,其中声明了的显式变量或lambda捕获self
。(60017011)解决方法:删除
self
变量或lambda捕获,因为不再需要它XCTAssert
。 Xcode无法在Apple芯片上的iOS或iPadOS应用程序上运行UI测试。如果活动方案/测试计划同时包含单元测试和UI测试,则Xcode会跳过UI测试,并在测试活动日志中记录一条消息,指出已跳过UI测试。(60059698)
Xcode不支持在Apple芯片上针对iOS或iPadOS应用程序并行运行测试。而是依次运行测试。(60514529)
-
使用动画时动画性能度量(挂钩的总数,扯起总持续时间,挂钩时间比,帧速率,以及帧计数)再加上用于仿真设备不可用。(63766090)
解决方法:
XCTSkip
用于跳过模拟设备上的性能测试。 -
testmanagerd
在某些iOS设备上运行UI测试时,截图捕获可能会导致“失去连接”测试失败。(63946264)解决方法:在方案或测试计划中禁用自动屏幕截图。
启用代码覆盖率后,使用Apple芯片为Mac构建Mac Catalyst应用程序将失败。(65003639)
-
如果测试目标的“主机应用程序”设置设置为“无”,则iOS单元测试无法在Apple芯片上启动。(65309328)
解决方法:将主机应用程序设置为iOS应用程序目标。
弃用
- Xcode现在支持在运行iOS 9.0及更高版本的iOS设备上调试应用程序并运行测试。(59561001)
推荐
基础文章推荐
经典教程推荐
上新
技术源码推荐
推荐文章
CoreData篇
Combine篇
TextField篇
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
- 《SwiftUI实战之TextField风格自定义与formatters》
- 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》
- 《SwiftUI 当键盘出现时避免TextField被遮挡自动向上移动》
- 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》
JSON文件篇
一篇文章系列
- SwiftUI一篇文章全面掌握List(教程和源码)
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
- SwiftUI一篇文章全面掌握Picker,解决数据选择(教程和源码)
- SwiftUI一篇文章全面掌握Form(教程和源码)
- SwiftUI Color 颜色一篇文章全解决
技术交流
QQ:3365059189
SwiftUI技术交流QQ群:518696470
- 请关注我的专栏icloudend, SwiftUI教程与源码
https://www.jianshu.com/c/7b3e3b671970