我正在将我们的Xamarin构建基础架构转移到基于Windows的过程中,我遇到了一个问题,我们的构建脚本目前使用PlistBuddy来读取和写入应用程序的Info.plist文件。 / p>
显然PlistBuddy不会在Windows上运行。
有没有人在Windows上看到与Plist文件交互的其他解决方案?我见过一些使用GUI的人,但是我们需要这个有一个CLI。
答案 0 :(得分:0)
您可以强制构建代理在Mac上运行任意命令,方法是绑定到任何通用Task/Target
(您可以查看Xamarin.iOS .targets
文件以获得更好的想法) SSH连接。目前,使用<Exec>
任务和SessionId
$(BuildSessionId)
的其他方法可以使用此功能。以下是您如何执行此操作的示例:
<Exec Command="..." SessionId="$(BuildSessionId)" />
如果SessionId
为空/空,则表示我们未连接到Mac。如果它不为空/空,那么我们就连接到Mac。
然后,我们可以通过以下方式强制此条件始终在Mac上运行:
<Exec Command="..." SessionId="$(BuildSessionId)" Condition=" '$(BuildSessionId)' != '' " />
请注意,以下内置任务会公开以进行远程执行:
然后,您可以通过此方法调用PlistBuddy
命令。
<强> EX:强>
<Target Name="_SayGoodbye">
<Exec Command="plistbuddy ..." SessionId="$(BuildSessionId)" Condition=" '$(BuildSessionId)' != '' "/>
</Target>
如果您想使用MSBuild
自定义任务方式,可以在此处查看以前构建的任务的示例:
EX 正在使用的Plist:
EX 使用Plist进行测试:
此时更多的是MSBuild自定义,但您可以使用这些项目完成您尝试做的事情。