Xcode 12.5 新特性一览

405次阅读  |  发布于3年以前

随着 iOS 14.5 RC 版的发布,Xcode 12.5 RC 版也发布了。Xcode 12.5 beta 版本没有跟着 iOS 14.5 beta 版本的节奏,而是在 beta 3 后就没再发布新的 beta 版本,而 iOS 14.5 则一直发布到 beta 8。RC 版发布,正式版也不会太远,让我们一起来看看 Xcode 12.5 版本的新特性。另外已修复了一些现有的问题,可以查看 Releast Note 查看具体内容。

通用

Apple Clang Compiler

构建系统

例如

xcodebuild -archive <archive_path1> -framework MyFramework.framework -archive <archive_path2> -framework MyFramework.framework -o <output_xcframework_path>

Code Completion

在包含错误的表达式中以及在没有附加上下文的情况下含糊不清的表达式中,代码完成更为可靠。

例如,以下代码:

func test(a: Int, b: String) -> Int { ... }
func test(a: Int, b: Int) -> String { ... }
func test(a: (Int, Int) -> Int) -> Int { ... }

test().prefix(3). 之后会给出 String 成员提示。而 test(a: 2). 会给出 Int 和 String 的成员。以下代码中的 $0 会给出 Int 成员:

test {
  $0.
}

调试

Instruments

Interface Builder

本地化

Playgrounds

模拟器

StoreKit

Swift Packages

测试

要按预期方式标记故障,可在产生测试失败的代码之前在测试中调用新的 XCTExpectFailure API ,例如:

XCTExpectFailure("…")
// Perform test which currently fails

此外,可以通过将失败的代码包含在闭包中来限制预期失败的范围:

// Arrange and act on the test subject

XCTExpectFailure("…") {
    XCTAssert(…) // Failing assertion
}

// Continue test with further assertions etc.

默认情况下,如果调用 XCTExpectFailure 但测试未记录失败,则 XCTest 会将测试标记为由于“无法匹配的预期失败”而失败。通过传递 XCTExpectFailure XCTExpectedFailure.Options 对象作为参数,并将其 isStrict 属性设置为false,可以抑制不确定发生的故障:

let options = XCTExpectedFailure.Options()
options.isStrict = false
XCTExpectFailure("…", options: options)
// Perform test which sometimes fails

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8