如何在VS Code中发布.NET MAUI iOS应用至TestFlight
在VS Code中为.NET MAUI iOS应用生成IPA并上传至TestFlight
前提条件
- 必须在Mac环境下操作(.NET MAUI iOS构建依赖Xcode工具链)
- 已安装最新版.NET SDK及MAUI workload(可通过
dotnet workload list确认) - Xcode已安装并配置好开发者证书、Provisioning Profile(可在Xcode > Settings > Accounts中验证)
- App Store Connect中已完成应用的基础配置(Bundle ID、版本号等)
步骤1:生成IPA文件
在VS Code的终端中导航到你的.NET MAUI项目根目录,执行以下发布命令:
方式1:手动指定签名信息
dotnet publish -f net8.0-ios -c Release \ /p:ArchiveOnBuild=true \ /p:CodesignKey="Apple Distribution: 你的团队名称 (团队ID)" \ /p:CodesignProvision="你的Provisioning Profile名称"
替换命令中的证书名称和描述文件名称(可在Xcode > Signing & Capabilities中查看准确名称)
方式2:自动签名(推荐)
如果你启用了Xcode的自动签名,可简化命令:
dotnet publish -f net8.0-ios -c Release \ /p:ArchiveOnBuild=true \ /p:AutomaticSigning=true \ /p:TeamID=你的团队ID
发布完成后,IPA文件会生成在如下路径:bin/Release/net8.0-ios/ios-arm64/publish/[你的应用名称].ipa
步骤2:验证IPA(可选但推荐)
用Apple的altool工具验证IPA的合法性,避免上传失败:
xcrun altool --validate-app \ -f "bin/Release/net8.0-ios/ios-arm64/publish/[你的应用名称].ipa" \ -t ios \ -u "你的Apple ID邮箱" \ -p "App Store专用密码"
专用密码需在Apple ID管理页面生成,不能直接用Apple ID登录密码
步骤3:上传至TestFlight
同样使用altool命令完成上传:
xcrun altool --upload-app \ -f "bin/Release/net8.0-ios/ios-arm64/publish/[你的应用名称].ipa" \ -t ios \ -u "你的Apple ID邮箱" \ -p "App Store专用密码"
上传完成后,前往App Store Connect的TestFlight页面,等待Apple处理构建(通常需要5-30分钟),处理完成后即可邀请测试人员。
常见问题排查
- 签名错误:检查证书是否过期、Provisioning Profile是否匹配Bundle ID,确保Xcode能正常签名
- 架构不兼容:确认命令中指定的是
ios-arm64(iOS设备架构),避免生成x86_64的模拟器版本 - 版本号冲突:确保IPA的版本号(CFBundleShortVersionString)和Build号(CFBundleVersion)与App Store Connect中的配置一致
- 权限缺失:检查Info.plist中是否添加了必要的隐私权限描述(如相机、定位等)
内容的提问来源于stack exchange,提问作者OttoRocket
相关产品推荐
相关产品推荐

