苹果在 iOS 18 中对 Swift 和 SwiftUI 的使用

主要观点:对 iOS 18 内置应用进行分析,回答关于其包含二进制文件数量、使用的编程语言、使用 Swift 的应用数量及 SwiftUI 与 UIKit 的使用比例等问题,还介绍了相关方法论、新的安全功能、Secure Enclave 中 Swift 的使用等,并提供了原始数据下载及支持博客的方式。
关键信息:

  • iOS 18 包含 6800 个二进制文件,比 iOS 17 增加 770 个,其中 592 个使用 SwiftUI,含至少一行 Swift 代码的二进制文件数量在 iOS 17 到 iOS 18 间增长 50%。
  • 采用 SwiftUI 的应用数量持续增长,如新的 Passwords 等应用,新开发技术如 Apple Intelligence 等也依赖 Swift。
  • 比较 UIKit 和 SwiftUI 时,iOS 18 中使用 UIKit 的应用仅增长约 8%,而使用 SwiftUI 的增长超过 50%,iOS 18 还引入了新的 SwiftUICore 框架。
  • iOS 18 扩展了 BlastDoor 安全功能,新增多个相关私有框架。
  • WWDC22 中提到 Swift 适用于 Secure Enclave 处理器,iOS 17 和 iOS 18 的 Secure Enclave 中二进制文件数量相同,其中dxio二进制文件重命名为dxio_swift且用嵌入式 Swift 构建,而 macOS 的 Secure Enclave 在hibernation二进制文件中使用 Swift。
    重要细节:
  • 分析只包括所谓的“iOS”即内核之上的部分,不包括 XNU 内核和低级固件。
  • 开发者可混合不同编程语言创建一个二进制文件,含一行 Swift 代码的应用也计为使用 Swift。
  • 文中对 Objective-C++的检测方法存在局限性,此类二进制文件计为同时使用 Objective-C 和 C++。
  • 提供了从 iPhone OS 1.0 到 iOS 18.0 各版本的原始数据下载链接及支持博客的相关工具介绍和下载链接。
阅读 8
0 条评论