使用dotnet publish构建iOS MAUI应用时如何指定exportOptions.plist?
在Cake流水线中通过dotnet publish调用exportOptions.plist构建iOS MAUI应用
完全可行,你可以通过dotnet publish的属性参数指定exportOptions.plist文件,结合Cake的DotNetPublish方法就能在流水线中实现这一需求。
具体实现步骤
在Cake脚本中配置DotNetPublish任务
直接在DotNetPublishSettings的Properties字典中添加ExportOptionsPlist项,指定你的配置文件路径,同时记得开启ArchiveOnBuild(因为导出IPA需要先完成归档操作)。示例代码如下:Task("Publish-iOS-MAUI") .Does(() => { DotNetPublish("./YourMauiApp.sln", new DotNetPublishSettings { Configuration = "Release", Framework = "net8.0-ios", // 根据你的MAUI版本调整,如net7.0-ios Runtime = "ios-arm64", Properties = new Dictionary<string, string> { { "ExportOptionsPlist", "./Configs/exportOptions.plist" }, // 替换为你的文件路径 { "ArchiveOnBuild", "true" }, { "CodesignKey", "Apple Distribution: Your Team Name (XXXXXX)" }, // 可选,若plist未指定签名信息可补充 { "CodesignProvision", "Your Provisioning Profile Name" } } }); });直接使用dotnet命令行验证
如果需要单独测试,对应的命令行指令如下:dotnet publish -c Release -f net8.0-ios -r ios-arm64 /p:ExportOptionsPlist=./Configs/exportOptions.plist /p:ArchiveOnBuild=true
关键注意事项
- 确保
exportOptions.plist的路径正确,可使用相对路径(相对于Cake脚本的工作目录)或绝对路径 - plist文件中的导出类型(如
app-store、ad-hoc)、签名团队ID等配置必须与你的开发者证书、配置文件完全匹配,否则会出现签名或导出失败 - 在CI环境中运行时,需提前确保开发者证书和配置文件已正确导入构建环境的密钥链,或通过Cake脚本添加密钥链导入步骤
内容的提问来源于stack exchange,提问作者Alex Hardwicke
相关产品推荐
相关产品推荐

