IntelCPU/ARMAppleSoC通吃:全新设计的Xcode12抢先看
苹果在WWDC2020上除了发布最新的macOSBigSur之外,还宣布未来Mac将会采用基于ARM架构的自研芯片Applesilicon。因此,苹果也推出了相应的集成开发环境Xcode12。
Xcode12采用了全新的设计,外观方面保持与macOSBigSur一致的风格。部分新变化包括:侧边导航栏的字体可自定义大小、精简的代码补全功能、新的文档标签页可更快打开多个文件,并支持在各自的标签页中打开界面文件、日志文件和项目文件,以及重新设计的organizer。
作为桥接新旧Mac架构的角色,Xcode12默认构建macOS通用app(Universalapp),以支持搭载Apple芯片的新Mac,该过程通常无需更改任何代码。
事实上,Xcode12本身就是作为Universalapp而构建,可以原生运行在Intelx86_64CPU和基于ARM的Apple芯片上。Xcode12还提供了统一的macOSSDK,其中包含所有框架、编译器、调试器和其他工具,以帮助构建在Apple芯片和Intelx86_64CPU上原生运行的应用程序。
当在Xcode12中打开项目时,app会自动更新,以生成作为Universalapp的releasebuilds和archives。当构建app时,Xcode会为苹果芯片和Intelx86_64CPU分别生成一个二进制文件,然后把两者打包在一起,作为单个app发布或共享到MacAppStore。开发者可以点击工具栏中的“AnyMac”选项来测试此项功能。在搭载苹果芯片的新Mac上,开发者可以选择工具栏上的“MyMac(Rosetta)”选项,模拟原生基础架构或是英特尔虚拟化,来执行并测试app。
在Xcode12中,苹果还对用户界面UI框架SwiftUI进行了改进,除了优化性能还增加了一些新特性。由于保持了稳定的API,因此开发者可以轻松地将现有的SwiftUI代码引入Xcode12。而针对使用SwiftUI构建的app的全新生命周期管理API让开发者可以在SwiftUI中完整编写app,并在所有Apple平台上共享更多代码。
基于SwiftUI构建的全新小组件平台让开发者可以构建在iPad、iPhone和Mac上运行良好的小组件。SwiftUI视图现在支持与其他开发者共享,并作为一等(first-class)控件出现在Xcode库中。现有的SwiftUI代码可以继续运行,同时提供了更快的性能、更好的诊断和对新控件的访问。