Chr*_*ris 5 c# xamarin.ios ios xamarin
我刚刚更新到最新版本的Xamarin工作室,但是当我尝试使用XBuild构建我的解决方案时,通过我们的持续集成服务器,它现在在数据时间文件夹中生成IPA文件,(在通常的bin\iphone\Ad-中)特殊文件夹)例如:
Finisher3 2016-06-09 11-57-45\Finisher3.ipa
Run Code Online (Sandbox Code Playgroud)
但是我不明白为什么现在这样做 - 在之前的版本中它给了我一个文件如下:
Finisher3-1.68.1.1.ipa
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何重新设置版本号,而不是将其放在日期时间文件夹中,这使得在完成构建后将IPA复制到发布文件夹是相当不切实际的.
Ale*_*tov 10
更新: 旧解决方案不适用于最新的Xamarin版本,不建议使用. 有关解决问题的官方信息和建议如下:
但是,在我的情况下,有几个构建机器有大约30个构建编辑构建定义或.csproj文件在所有这些是一个噩梦,特别是在星期五.
这是我目前正在使用的解决方法.在1655/1656行之间插入此代码
<IpaPackageDir Condition="'$(IpaPackageDir)' == ''">$(DeviceSpecificOutputPath)</IpaPackageDir>
然后在1661之后插入以下行:
<IpaPackageName Condition="'$(IpaPackageName)' == '' And '$(_BundleVersion)' != ''">$(_AppBundleName)-$(_BundleVersion).ipa</IpaPackageName>
祝你好运,玩得开心!
过时的解决方案:
按照support@xamarin.com,编辑Xamarin.iOS.Common.targets为现在是建议的解决方法(方案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>
Run Code Online (Sandbox Code Playgroud)
和1734行到
OutputFile="$(OutputPath)$(IpaPackageName)"
Run Code Online (Sandbox Code Playgroud)
这些更改取自Xamarin.iOS.Common.targets之前的稳定版本(5.10.3).
| 归档时间: |
|
| 查看次数: |
620 次 |
| 最近记录: |