gpt4 book ai didi

c# - Xamarin cycle 7 IOS IPA 输出现在在日期时间文件夹中

转载 作者:可可西里 更新时间:2023-11-01 04:21:56 25 4
gpt4 key购买 nike

我刚刚更新到最新版本的 Xamarin Studio,但是当我尝试使用 XBuild 构建我的解决方案时,通过我们的持续集成服务器,它现在在数据时间文件夹中生成 IPA 文件(在通常的 bin\iphone 中\Ad-hoc 文件夹)例如:

Finisher3 2016-06-09 11-57-45\Finisher3.ipa

但是我不明白为什么它现在这样做 - 在以前的版本中它给了我一个文件如下:

Finisher3-1.68.1.1.ipa

有谁知道如何让它重新设置版本号,而不是将它放在日期时间文件夹中,这使得在我完成构建后将 IPA 复制到发布文件夹是相当不切实际的。

最佳答案

更新:旧解决方案不适用于最新的 Xamarin 版本,因此不建议使用。解决问题的官方信息和建议发布在这里:

https://developer.xamarin.com/releases/ios/xamarin.ios_9/xamarin.ios_9.8/#New_MSBuild_property_IpaPackageDir_to_customize_.ipa_output_location

但是,就我而言,拥有多台构建机器和约 30 个构建编辑构建定义或 .csproj 文件是一场噩梦,尤其是在周五。

这是我目前正在使用的解决方法。在第 1655/1656 行之间插入此代码

<IpaPackageDir Condition="'$(IpaPackageDir)' == ''">$(DeviceSpecificOutputPath)</IpaPackageDir>

然后在 1661 之后插入以下行:

<IpaPackageName Condition="'$(IpaPackageName)' == '' And '$(_BundleVersion)' != ''">$(_AppBundleName)-$(_BundleVersion).ipa</IpaPackageName>

在您更改之后,这就是文件的外观。 1656 和 1662 行是新的。 fixed targets file for Xamarin ipa location problem

祝你好运,玩得开心!


过时的解决方案:

根据 support@xamarin.com,编辑 Xamarin.iOS.Common.targets now 是建议的解决方法(Johan 的回答中的选项 2)。

由于接受的答案只显示问题的原因(选项 2),这里是解决问题的方法。

解决方法(在 Mac 上)是转到文件夹 /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/2.1/并打开文件 Xamarin.iOS.Common.targets

(或直接打开文件 /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/2.1/Xamarin.iOS.Common.targets )。

如果您在 Windows 上,那么您需要编辑的文件是 C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets

然后将1607行改为

    <PropertyGroup>
<IpaPackageName Condition="'$(IpaPackageName)' != '' And !$(IpaPackageName.EndsWith ('.ipa', StringComparison.OrdinalIgnoreCase))">$(IpaPackageName).ipa</IpaPackageName>
<IpaPackageName Condition="'$(IpaPackageName)' == '' And '$(_BundleVersion)' != ''">$(_AppBundleName)-$(_BundleVersion).ipa</IpaPackageName>
<IpaPackageName Condition="'$(IpaPackageName)' == ''">$(_AppBundleName).ipa</IpaPackageName>
</PropertyGroup>

和第 1734 行到

OutputFile="$(OutputPath)$(IpaPackageName)"

这些更改取自 Xamarin.iOS.Common.targets之前的稳定版本 (5.10.3)。

关于c# - Xamarin cycle 7 IOS IPA 输出现在在日期时间文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37726925/

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