【问题标题】:cant build xamarin ios apps on jenkins with msbuild无法使用 msbuild 在 jenkins 上构建 xamarin ios 应用程序
【发布时间】:2021-11-08 16:57:24
【问题描述】:

我正在尝试为我们的 iOS 应用程序创建一个 ci。我在 macbook 上使用 jenkins 作为 ci 工具。 我正在使用在主节点上运行的 msbuild 构建 ipa。

直接从机器上的命令行 + 从 Visual Studio GUI 构建。

这就是我运行 msbuild 命令的方式:

sudo /Library/Frameworks/Mono.framework/Versions/Current/Commands/msbuild /p:Configuration="Release" /p:Platform="iPhone" /p:IpaPackageDir="." /t:Build /p:OutputPath="." /p:IpaPackageName=myapp.ipa /p:BuildIpa=True mycsprojfolder/mycsprojfile.csproj

构建 3 分钟后,我收到以下错误:

(_CompileITunesMetadata target) -> 
  /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(320,3): error MSB4018: The "CompileITunesMetadata" task failed unexpectedly. [/Users/.jenkins/workspace/Build-iOS/mycsprojfolder/mycsprojfile.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(320,3): error MSB4018: System.ArgumentException: Path cannot be the empty string or all whitespace. [/Users/myuser/.jenkins/workspace/Build-iOS/mycsprojfolder/mycsprojfile.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(320,3): error MSB4018: Parameter name: path [/Users/myuser/.jenkins/workspace/Build-iOS/mycsprojfolder/mycsprojfile.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(320,3): error MSB4018:   at System.IO.Directory.CreateDirectory (System.String path) [0x00016] in <92218043474744ea9d64d27064c35dcb>:0  [/Users/myuser/.jenkins/workspace/Build-iOS/mycsprojfolder/mycsprojfile.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(320,3): error MSB4018:   at Xamarin.iOS.Tasks.CompileITunesMetadataTaskBase.Execute () [0x001ed] in <5fc761670f214242b2d9c8c4b0525b32>:0  [/Users/myuser/.jenkins/workspace/Build-iOS/mycsprojfolder/mycsprojfile.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(320,3): error MSB4018:   at Xamarin.iOS.Tasks.CompileITunesMetadata.Execute () [0x0002a] in <5fc761670f214242b2d9c8c4b0525b32>:0  [/Users/myuser/.jenkins/workspace/Build-iOS/mycsprojfolder/mycsprojfile.csproj]

我需要生成一个 Ipa 文件,以便我们稍后将其上传到应用商店。

msbuild 版本是 16.9.0.22901

jenkins 版本是 2.289.1

有人遇到过吗?找不到答案。 谢谢!

【问题讨论】:

  • 为什么要用 sudo 运行它?
  • 直接在机器终端上运行时,没有sudo就不行,权限问题
  • 嘿,我在我的 Mac 上禁用了防火墙,所以这应该不是问题
  • 您做了什么操作导致了这个错误?或者它只是自发发生的?

标签: ios macos xamarin jenkins msbuild


【解决方案1】:

问题是钥匙串的特权。 我在我的 mac 操作系统上启用了对钥匙串的访问,并且它成功构建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多