gpt4 book ai didi

ios - 在 iOS 应用程序上使用 xbuild 不会生成 ipa

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:14 27 4
gpt4 key购买 nike

我们已经实现了与 Jenkins 的持续集成,以帮助执行构建以加快部署速度。我们已经审查了通过 Xamarin website 提供的文档, 并且遇到了一个问题。在演练中,它描述了如何使用各种插件来执行该过程,我们使用构建脚本来执行我们的构建,因为我们有一些在构建之后执行的后期操作,例如将 ipa 提交到 TestFlight。问题是,对于 iOS,它是 documented从终端/命令行构建时,我们需要使用 xbuild 而不是 mdtool。

我们关注了这个portion of the guide在构建脚本中构建我们的 xbuild。看起来 xbuild 命令有效并创建了项目引用 dll,甚至生成了一个 exe,但即使我们在 xbuild 上设置此 /p:BuildIpa=true 以确保一代。我们还为要在其中生成的 ipa 提供了一个位置,以确保我们不会丢失带有此 /p:IpaPackageDir=$BUILD_PATH 的文件。这是我们当前使用的整个 xbuild 命令,是否有不正确的地方或我们遗漏了什么?

/Library/Frameworks/Mono.framework/Commands/xbuild $PROJECT_FILE / t:Build /p:BuildIpa=true /p:IpaPackageDir=$BUILD_PATH /p:Configuration=”Release” /p:Platform=”iPhone” /p:OutputPath=$BUILD_PATH

($BUILD_PATH) -- 构建路径就是“%WORKSPACE%\bin\iPhone\Release\”

我确实找到了 this resource还有,其中指出 xbuild 需要 iOS 的解决方案文件才能正确构建,对吗?

如果这是正确的,我们如何解决这些错误,因为我无法找到任何文档来解释如何为 xbuild 部署正确定义解决方案和项目文件,甚至如何在构建过程中排除特定项目:

/Users/developer/.jenkins/workspace/Mobile3_Branch_3.20/ServicePro/iOS/Mobile3.Forms.UWP/Mobile3.Forms.UWP.csproj:  warning : Could not find project file /Library/Frameworks/Mono.framework/External/xbuild/Microsoft/WindowsXaml/v14.0/Microsoft.Windows.UI.Xaml.CSharp.targets, to import. Ignoring.
/Users/developer/.jenkins/workspace/Mobile3_Branch_3.20/ServicePro/iOS/Mobile3.ServicePro.UWP/Mobile3.ServicePro.UWP.csproj: warning : Could not find project file /Library/Frameworks/Mono.framework/External/xbuild/Microsoft/WindowsXaml/v14.0/Microsoft.Windows.UI.Xaml.CSharp.targets, to import. Ignoring.
Project "/Users/developer/.jenkins/workspace/Mobile3_Branch_3.20/ServicePro/iOS/Mobile3.sln" (Mobile3.ServicePro.iOS target(s)):
Target ValidateSolutionConfiguration:
/Users/developer/.jenkins/workspace/Mobile3_Branch_3.20/ServicePro/iOS/Mobile3.sln: error : Invalid solution configuration and platform: "“Release”|“iPhone”".
Task "Error" execution -- FAILED
Done building target "ValidateSolutionConfiguration" in project "/Users/developer/.jenkins/workspace/Mobile3_Branch_3.20/ServicePro/iOS/Mobile3.sln".-- FAILED
Done building project "/Users/developer/.jenkins/workspace/Mobile3_Branch_3.20/ServicePro/iOS/Mobile3.sln".-- FAILED

这是我们用来构建解决方案的 xbuild 命令:

/Library/Frameworks/Mono.framework/Commands/xbuild /p:Configuration=”Release” /p:Platform=”iPhone” /p:OutputPath=$BUILD_PATH /p:BuildIpa=true /p:IpaPackageDir=$BUILD_PATH /t:Build $SOLUTION_FILE

我们在构建 iOS 项目时不关心构建 UWP 项目,因为我们有一个单独的构建脚本可以正确生成 appxbundle 文件。

最佳答案

您可以通过设置 SolutionDir 并构建一个 .csproj 来构建一个“单独的项目/应用程序”,将构建所有引用的项目和一个 。 ipa 创建,类似于:

xbuild 
/p:SolutionDir="./src"
/p:OutputPath="$PWD/artifacts/"
/p:IpaPackageDir="$PWD/artifacts/"
/p:Configuration=Release
/p:Platform=iPhone
/target:Build
src/iOS/XamarinForms.iOS.csproj

注意:这假设您的配置文件已在此 Mac 上设置。

关于ios - 在 iOS 应用程序上使用 xbuild 不会生成 ipa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41263777/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com