Hosted macOS Preview环境下Xamarin IPA部署至App Center失败求助
我之前在配置Xamarin应用的Hosted macOS Preview构建时,也碰到过一模一样的情况——前面步骤都跑通了,唯独发布工件时提示“无内容可添加”,折腾了好一阵才找到问题根源,主要都出在复制文件步骤的路径配置上,给你几个排查方向:
1. 先确认IPA文件的实际生成路径
Xamarin在Hosted macOS环境下构建后,IPA文件一般会生成在类似$(Build.SourcesDirectory)/[你的项目名称]/bin/iPhone/Release/的路径下。你可以先去构建步骤的日志里搜Generated IPA:,找到IPA的具体位置,把这个路径作为复制文件的源路径,别用模糊的**/*.ipa,有时候因为环境目录结构的问题,模糊匹配会找不到文件。
2. 确保复制目标指向发布工件的指定目录
发布工件步骤只会读取$(Build.ArtifactStagingDirectory)这个目录下的内容,所以你的复制文件步骤的目标路径必须是这个目录(或者它的子目录)。如果之前设成了其他路径,发布步骤自然找不到任何文件,就会提示无内容。
3. 仔细核对复制文件步骤的输出日志
你提到有复制步骤的输出,重点看有没有类似Copied 1 file的记录,如果显示0 files copied,那就是源路径没匹配到文件。比如日志里出现No files were found to copy with search pattern: [你的源路径],那要么是IPA没生成,要么是源路径写错了。
4. 检查构建步骤是否真的生成了IPA
有时候构建步骤显示“成功”,但其实因为签名配置错误或者没勾选Build IPA选项,根本没生成IPA文件:
- 去Xamarin构建步骤的设置里,确认
Build IPA选项是勾选状态; - 查看构建日志里的签名相关输出,如果有签名失败的警告或错误,那IPA肯定没生成,得先解决签名问题。
举个我当时用的正确配置例子:
- 复制文件源:
$(Build.SourcesDirectory)/MyTodoApp/bin/iPhone/Release/*.ipa - 复制文件目标:
$(Build.ArtifactStagingDirectory)
调整完这些之后,再重新跑一次构建,发布工件应该就能正常拾取到IPA文件了。
内容的提问来源于stack exchange,提问作者Patrick Goode

