Xamarin cycle 7 IOS IPA输出现在在datetime文件夹中

克里斯

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

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

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

Finisher3-1.68.1.1.ipa

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

亚历克斯·索罗科列托夫(Alex Sorokoletov)

更新:旧解决方案不适用于最新的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行是新的。修复了Xamarin ipa位置问题的目标文件

祝你好运,玩得开心!


过时的解决方案:

根据[email protected]的建议Xamarin.iOS.Common.targets现在进行编辑是可行的解决方法(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)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Xamarin Cycle 8中的SSL证书验证失败(在Android和iOS上)

Restsharp和Xamarin Cycle 7没有连接

X.iOS Cycle7似乎破坏了SSL

Xamarin IOS 中的 UILongPressGestureRecognizer

iAdBanner未出现在iOS 7上

如何在Xamarin中向iOS8兼容版本添加iOS7支持和iOS7支持

尽管正确的PList设置,状态栏仍出现在iOS 7中

一像素发际线出现在ios 7中工具栏的顶部边缘

当键盘出现在iOS7中时调整UITextView的大小

Xamarin.iOS中Xamarin组件的替代

是否可以使用Xamarin Forms定位iOS 7?

在iOS Xamarin中上传文件

如何访问Xamarin.Forms中Resources(iOS)文件夹的文件路径?

在xamarin iOS中旋转UIImage

Xamarin iOS中的下载路径

IOS中的UIWebView(Xamarin monotuch)

如何使带有基本SDK(IOS 7)的IOS 7 App构建作为IOS 6 App出现在IOS 7上

如何使用 Xamarin 表单在 iOS iPhone 中的相册内创建文件夹

升级到iOS 7后,通过USB连接的iPhone未出现在OS X Safari的“开发”菜单中

Xamarin.iOS-MSBUILD无法生成IPA

使用Xamarin.iOS获取iOS库文件夹的正确方法是什么?

如何在Visual Studio 2013中使用SDK版本5.0部署Xamarin ios应用程序以使用旧主题(不是iOS 7主题)

如何使我的iOS7 UITableViewController不出现在顶部状态栏下方?

导航栏出现在新iOS7 SDK的视图上方

Xamarin.Forms中的实体框架7

Xamarin.Forms / Xamarin iOS 中 Akavache 中的可能错误

在iOS(Xamarin)上启动后出现黑屏

将 Xamarin 从更新到 5.0.0.2401 ListView 在 Xamarin iOS 中崩溃

在Xamarin.Forms中从Xamarin.iOS获取记录