有没有办法在 VS2012 中使用 sdk 6.1 远程构建 Xamarin.iOS?

Posted

技术标签:

【中文标题】有没有办法在 VS2012 中使用 sdk 6.1 远程构建 Xamarin.iOS?【英文标题】:Is there a way to remotely build Xamarin.iOS with sdk 6.1 in VS2012? 【发布时间】:2013-11-05 00:22:22 【问题描述】:

我有一个为 ios6.1 开发的 iOS 项目,我需要能够为 iOS6.1 和 iOS7 构建它。我从 Xamarin 更新了所有工具,并在 iPhone 上升级到了 OSX Mavericks 和 iOS 7.0.3。所以此时我拥有所有最新版本。

当我从 VS2012 开始调试项目时,在 iPhone 上启动的应用程序始终是 iOS7 应用程序。我在 Xcode 5 中添加了 iOS6.1.sdk,所以回到 Windows 机器上我可以在 VS2012 中选择这个 SDK 进行编译。

但似乎无论我在项目设置中选择什么 SDK,它总是返回:-debug -linksdkonly-sdk "7.0"-targetver "6.1" --abi=armv7(参数取自 mtbserver.log在建筑主机上)

如果我在 Mac 上使用 Xamarin Studio 构建项目,则更改 SDK 版本时的行为与预期相同。

在使用 VS2012 远程构建时,有没有办法解决这个问题?

【问题讨论】:

【参考方案1】:

这有点不常见,听起来像是一个错误 - 您应该将其提交到 bugzilla 以便得到确认(如果是这种情况,则予以修复)。

我认识的大多数人并排安装多个 Xcode,即他们不会将 old .sdk 目录复制到较新的 Xcode 版本中。

你可能想试试这个(诀窍是在安装新的之前重命名Xcode.app),然后在需要为 iOS 6.1 构建时将 VS 插件设置到旧目录(例如Xcode46.app)。

【讨论】:

好的,谢谢你的建议。我会看看这个。我的想法是,当它在 XS 中工作时,它应该通过 VS 以相同的方式工作。如何将 VS 插件设置为旧目录? 你是对的,如果它适用于 XS,它也应该适用于 VS(或者它是一个错误)。我没有 Windows 框,但它可能在“SDK 位置”下命名为“Apple SDK”(如 XS)。

以上是关于有没有办法在 VS2012 中使用 sdk 6.1 远程构建 Xamarin.iOS?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在VS2012中编写make_unique()?

有没有办法将更新的编译器安装到旧版本的 IDE(VS 2012)?

VS2005 和 Windows SDK 7.1

VS2012在一个解决方案中发布多个项目

怎么改变VS2012背景

VS2010 和 VS2012 项目可以同时在同一个源代码上吗