+-
Xcode 12 Beta 5发行说明

快速预览

1、终于支持coredata模版创建了

截屏2020-08-19 上午9.53.35.png

2、已知解决,动画可能无法在实时SwiftUI预览中使用

3、Xcode 12 beta 5开始,在iOS 14上使用InsetGroupedListStyle不再会使在iOS 13上运行的应用程序崩溃,即使将其包装在版本检查中也是如此。解决方案_was_封装在AnyView中。

截屏2020-08-19 上午9.48.13.png

总览

Xcode 12 beta 5包括适用于iOS 14,iPad OS 14,tvOS 14,watchOS 7和macOS 11的SDK。Xcode 12 beta 5版本支持针对iOS 9和更高版本,tvOS 9和更高版本以及watchOS 2和更高版本的设备上调试。 。Xcode 12 beta 5需要运行macOS Big Sur 11 beta或更高版本的Apple芯片,或者运行macOS Catalina 10.15.4或更高版本的基于Intel的Mac。

苹果Clang编译器

弃用

i386,x86_64和arm的独立系统组装程序已弃用,并且可能在以后的Xcode版本中删除。将 as命令与 -Q标志一起使用会显示警告,指示您过渡到Clang的集成汇编器和 -q标志。该 as(1)驱动程序将继续,因为调用锵的综合汇编,以及由开发商安装的任何汇编的标准方法。(61299833)

建立系统

弃用

“构建设置”编辑器不再包含“有效体系结构”构建设置(),不建议使用。而是有一个新的“排除的体系结构”构建设置()。如果项目包括,则该设置将显示在“构建设置”编辑器的“用户定义”部分中。(15145028) VALID_ARCHS`EXCLUDED_ARCHS `VALID_ARCHS 旧版构建系统已弃用,并将在以后的版本中删除。(62742902)

核心ML

弃用

不推荐使用Xcode中自动生成的模型接口上的默认初始化程序,而推荐使用 init(configuration:)。请改用 init(configuration:)或新引入的 .load()方法,并适当处理模型加载错误。(62875309)

调试

解决

从Xcode构建和运行时,Mac上的iPad和iPhone应用程序再次可以访问按需资源。(62074124) 内存图调试器现在可以正确地对当前Xcode工作区中SwiftUI应用程序中定义的类型的来源进行分类。调试导航器会在正确的部分列出这些类型,并在选择“仅显示工作区中的内容”时将其包括在内。(63899779) 解决了苹果芯片上的一个问题,该问题是在模拟设备上调试tvOS应用失败,并显示错误“无法附加到pid”。(65375566)

已知的问题

在运行iOS 14,iPadOS 14,watchOS 7或tvOS 14 beta 4及更高版本的设备上进行调试,测试和性能分析需要Xcode 12 beta 3或更高版本。尝试在不受支持的操作系统版本上进行开发时,较早版本的Xcode可能会显示错误“无法启动远程服务”。(60850305) 打开调试仪表时,Xcode可能崩溃。(64181692)

仪器

已知的问题

插入macOS应用程序时,“动画挂钩”模板不会显示挂钩间隔。(61082729)

弃用

instruments现在不推荐使用该命令,而建议使用它替换: xctracexctrace记录,导入和导出Instruments .trace文件中的数据。(36641078)

界面生成器

解决

UISplitViewController默认情况下,除非已连接辅助视图控制器,否则Interface Builder中的实例将再次默认使用“未指定”样式。要利用iOS 14的改进,请从检查器的“样式”菜单中选择“双列”。(65966010)(FB8107534) 修复了无法拖动以将情节提要或 .xib文件中的对象连接到现有Objective-C插座的问题。(66293812) 修复了为包含关联视图的iOS文档启用安全区域布局指南时可能发生的崩溃。(64564818) 现在,媒体库在SF Symbols的详细信息区域中显示已弃用的符号信息。(63692751)

弃用

Interface Builder不再提供对“可以同时绘制”属性的访问。您仍可以在代码中使用来配置此行为。(42437767) canDrawConcurrently QTCaptureView和QTMovieView已被弃用,不再受支持。从情节提要和 .xib文件中删除这些视图。(64263402)

游乐场

已知的问题

Xcode可能会在创建后显示文本“ No Editor”,而不是立即打开Playground的源代码编辑器。(56484197)

解决方法:使用“视图”>“导航器”>“项目”显示“项目导航器”,然后手动选择“游乐场”。

预告片

解决

包含多个预览的macOS中的Live SwiftUI预览再次是交互式的。(62156572) PreviewProvider 对于作为应用程序和小部件链接的框架一部分的文件,SwiftUI预览更为可靠。(63785700) 从macOS 11开始,提高了Mac Catalyst实时预览的可靠性。(63998976) 将Mac Catalyst的Live SwiftUI预览调出或显示时不再退出。(64151326)

已知的问题

Xcode不提供macOS小部件扩展的预览。(57990060) 您无法在“预览”画布的“窗口小部件”中选择视图。(62517078) 动画可能无法在实时SwiftUI预览中使用。(63333795) 进行更改之前,可能无法显示macOS的Live SwiftUI预览,除非您单击画布上的Bring Forward按钮。(63865018) 预览iPad设备的小部件扩展名可能会在顶部显示多余的空白栏。(64277772) 应用外观修改器时,窗口小部件扩展预览不适合深色外观。(64277915) .preferredColorScheme(.dark)

项目浏览器

解决

调整窗口大小后,“查找”面板仍会响应鼠标事件。(66256586)

已知的问题

即使MacOS不支持App Clip,App Clip方案也提供“ My Mac(为iPad设计)”或“ My Mac(为iPhone设计)”运行目的地。(65702469)

现实作曲家

弃用

由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可以确定电子钱包中是否已经存在特定的通行证,并在必要时提示用户添加通行证。如果您已经将电子钱包功能添加到App Clip目标,则可能无法构建或将应用提交到App Store Connect。在目标编辑器的“签名和功能”窗格中删除“电子钱包”功能,并禁用或删除任何使用此已删除功能的代码。(65244156) 使用Ad Hoc或Development方法分发iOS存档时,Xcode不会验证自动签名生成的配置文件中是否包含具有Apple芯片的Mac。(66803918)

仿真器

已知的问题

当在具有 content-available键集的Simulator中模拟推送通知时,系统将调用而不是。(60426170,60974170)(FB7625283) application(_:performFetchWithCompletionHandler:) application(_:didReceiveRemoteNotification:fetchCompletionHandler:) 即使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)

源代码编辑器

解决

修复了在启用某些扩展名或启用这些扩展名时可能在启动时发生的挂起。(61952790)

已知的问题

新的Xcode Source Editor Extension目标不会自动在扩展中设置嵌入。(59274389) XcodeKit.framework

解决方法:手动嵌入扩展中。XcodeKit.framework

弃用

为了与macOS 11中的新安全功能兼容,必须使用Xcode 12构建Xcode扩展,并且必须将embed嵌入。使用这些工具重建的Xcode扩展与旧版本的Xcode和macOS兼容。(51822755) XcodeKit.framework

迅速

解决

修复了以下问题:当真正的问题是类型不匹配,涉及可桥接到Objective-C类型的类型时,编译器会报告“无法为表达式生成诊断”。(65254452)(FB7872426) 修复了以下问题:当的返回类型与函数或属性的声明类型不匹配时,编译器在函数生成器主体中报告“无法为表达式生成诊断” 。如果视图的类型注释中有错误,则可能会在SwiftUI代码中发生。(65413640)(FB7940152) buildBlock`var body` 修复了当方法的返回类型不符合声明的不透明结果类型的要求时,在函数构建器主体中可能发生的编译器崩溃。当视图的主体不符合协议时,这可能会在SwiftUI代码中发生。(66247196) buildBlock`View` 修复了函数构建器主体包含空switch语句时可能发生的编译器崩溃。在SwiftUI视图主体中输入switch语句时,此问题还可能导致SourceKit崩溃。(65983237)(FB8111944) 修复了涉及 super类型 super错误的表达式中发生的编译器崩溃。(50819554)

已知的问题

为发布而构建的窗口小部件可能会崩溃。(65862827)

解决方法:设置要在扩展目标的构建设置。将应用程序上载到App Store Connect时,还要在App Store Connect分发选项中取消设置“包括iOS内容的位码”。DEAD_CODE_STRIPPING`NO`

启用位码或将“条形样式”设置为“所有符号”时,小部件可能会崩溃。(66402358)

解决方法:在Widget目标的构建设置中将其关闭,并且不要将其设置为All Symbols。ENABLE_BITCODE`STRIP_STYLE`

迅捷包

已知的问题

打开包含程序包引用的工作区时,可能会出现带有消息“数据库已锁定”的程序包解析错误。(61113361)

解决方法:关闭并重新打开工作区。

Swift软件包可能不遵守“仅构建活动体系结构”项目的构建设置。(64344067)

解决方法:使用“任何Mac”,“任何iOS设备(arm64)”,“任何watchOS设备”或“任何tvOS设备”目标位置来构建所有适用的设备。

测试中

解决

testmanagerd在运行iOS 14 beta 5的设备上执行UI测试时,屏幕截图捕获不再导致“失去连接”测试失败。(63946264) 启用代码覆盖率不再阻止使用Apple芯片为Mac构建Mac Catalyst应用。(65003639)

已知的问题

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) os_signpost XCTOSSignpostMetric

解决方法XCTSkip用于跳过模拟设备上的性能测试。

如果测试目标的“主机应用程序”设置设置为“无”,则iOS单元测试无法在Apple芯片上启动。(65309328)

解决方法:将主机应用程序设置为iOS应用程序目标。

弃用

Xcode现在支持在运行iOS 9.0及更高版本的iOS设备上调试应用程序并运行测试。

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470