Xamarin.Mac/iOS .NET 9.0.1xx-Xcode16.4 版本深度解析
Xamarin.Mac/iOS 作为微软推出的跨平台移动开发框架,为开发者提供了在.NET环境下构建原生iOS、macOS、tvOS和Mac Catalyst应用的能力。本次发布的9.0.1xx-Xcode16.4版本是一个重要的服务更新,主要增加了对Xcode 16.4的支持,并带来了一系列功能改进和性能优化。
核心更新亮点
Xcode 16.4兼容性支持
本次更新的核心特性是全面支持Xcode 16.4开发环境。需要注意的是,Xcode 16.4要求运行在macOS 15.3及以上版本的操作系统上。这一更新确保了开发者能够使用最新的苹果开发工具链构建应用,获得最新的API支持和性能优化。
Windows平台绑定项目构建优化
一个显著的架构改进是绑定项目现在可以完全在Windows平台上构建,不再需要远程Mac的参与。这一变化带来了以下优势:
- 构建速度显著提升:消除了网络通信开销,本地构建效率更高
- 开发体验改善:Windows开发者不再需要维护Mac构建环境
- CI/CD流程简化:Windows构建服务器可以直接处理绑定项目
关键技术改进
文档生成增强
bgen工具(绑定生成器)在文档生成方面有多项改进:
- 为表示字段的属性添加了默认XML文档
- 增强了异步操作的文档支持
- 完善了过滤器的文档说明
- 为事件添加了XML文档支持
- 为基于NSNotifications的事件参数子类添加文档
- 为生成的强字典类添加文档
这些改进使得自动生成的API文档更加完整,有助于开发者更好地理解和使用框架提供的功能。
性能与诊断优化
运行时环境增加了应用启动时间报告功能,帮助开发者分析和优化应用启动性能。同时新增了'EnableProfiler'属性,用于启用'diagnostics_tracing'组件,为性能调优提供更多工具支持。
安全与稳定性增强
在安全方面,框架对几个macOS专属的entitlements进行了验证,确保应用权限配置的正确性。同时修复了CFNetworkHandler和NSUrlSessionHandler的相关问题,提升了网络通信的可靠性。
各框架具体改进
AVFoundation框架
- 为AVRouteDetector添加了默认构造函数
- 改进了AVAudioRecorder的手动绑定构造函数
- 实现了Xcode 16.4 beta 1的所有新API
Foundation框架
- 修复了NSDictionary缺少的成员
- 改进了NSAttributedString、NSHttpCookie、NSString等多个类的手动绑定构造函数
- 确认NSUrlSessionHandler.ClientCertificateOptions现已支持
Metal框架
- 修复了MTLRasterizationRateLayerDescriptor的几个问题
- 更新了所有可用性属性
UIKit框架
- 调整了UITableViewDelegate.WillDisplay相关方法的可空性
- 修复了UIBarButtonItem的回调逻辑
- 标记UIGraphicsRenderer及其派生类为线程安全
构建系统改进
MSBuild构建系统有多项重要更新:
- 修复了AOT编译的依赖跟踪问题
- 改进了剪裁和本地链接的依赖跟踪
- 对Mac Catalyst应用扩展的放置位置进行了修正
- 增加了对符号链接目录的处理能力
- 验证了所需的Xcode版本
开发者体验优化
- 改进了错误消息,特别是关于错误Xcode版本的情况
- 为绑定项目提供了更好的Windows开发支持
- 增加了对诊断功能的支持
- 优化了工作负载安装流程
总结
Xamarin.Mac/iOS 9.0.1xx-Xcode16.4版本是一个重要的服务更新,不仅提供了对新版Xcode的支持,还在构建性能、开发体验、API完整性和系统稳定性方面做出了显著改进。特别是Windows平台绑定项目构建的本地化支持,将极大提升跨平台开发者的工作效率。对于正在使用或考虑采用Xamarin进行跨平台开发的团队来说,升级到这个版本将获得更好的开发体验和更强大的功能支持。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0245- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python05