.NET 7 MAUI iOS发布包iOS16无法安装,iOS15正常运行
检查签名与Provisioning Profile
iOS 16对签名验证的要求更严格,务必确认临时Provisioning Profile已经添加了目标iOS 16设备的UDID,且对应的签名证书处于有效状态。在Azure DevOps构建任务里,别依赖自动签名,手动指定签名相关参数,避免自动签名带来的兼容性问题。更新MAUI核心NuGet包到最新补丁版
.NET 7 MAUI针对iOS 16的兼容性出过不少补丁,把Microsoft.Maui.Controls、Microsoft.Maui.Core等核心包更到.NET 7的最新补丁版本(比如7.0.120及以后),很多图标显示和安装失败的问题都在后续补丁里修复了。调整发布命令参数
给发布命令补充几个关键参数,适配iOS 16的构建要求:dotnet publish -f net7.0-ios -c Release -r ios-arm64 /p:ArchiveOnBuild=true /p:CodesignProvision="你的临时Provisioning Profile名称" /p:CodesignKey="iPhone Distribution: 你的证书名称" /p:EnableCodeSigning=true /p:UseModernBuildSystem=true其中
UseModernBuildSystem=true强制使用Xcode新构建系统,对iOS 16的兼容性更好。核对图标资源配置
检查Resources/Images.xcassets/AppIcon.appiconset里的所有图标尺寸是否齐全,特别是iOS 16要求的尺寸(比如1024x1024的App Store图标,适配动态岛的相关尺寸)。同时确认Info.plist里的AppIcon引用没有拼写错误,确保系统能正确识别图标资源。验证IPA完整性
用Xcode的Organizer打开生成的IPA文件,查看签名详情、设备兼容性范围,确认项目设置的最低iOS版本是否覆盖iOS 16,或者至少不限制iOS 16设备的安装。
内容的提问来源于stack exchange,提问作者Jon

