6

我们的构建服务器最近更新为使用 Xcode 5 的 xcodebuild。我们已经安装了 iphoneos6.1,因此我们仍然可以将 iPhone SDK 6.1 用于一些尚不支持 iOS7 的遗留项目。但是,当我们使用 xcodebuild 使用 -sdk iphoneos6.1 构建这些项目时,我们仍然看到 UIViewController 的内容被布置在导航栏和标签栏下方的问题。

有没有办法使用 Xcode 5 的 xcodebuild 构建这些使用 Xcode 4.6.3/base sdk iOS 6.1 开发的项目,但保留使用 Xcode 4.6.3 开发的故事板中布置的视图?我查看了 ibtool 的手册页,但没有看到与选择目标 SDK 相关的任何选项,或者与我上面提到的“扩展边缘”问题相关的任何其他选项。

请注意,我们尚未使用 Xcode 5 更新情节提要 - 该项目将继续在 Xcode 4.6.3 中开发,并且仅在我们的构建服务器克隆项目的 git 存储库并使用 xcodebuild 构建时触及 Xcode 5 工具链。

4

2 回答 2

0

是的。在 Storyboard 上,转到 Interface Build Document 部分,有两个选择项。一种用于构建,另一种用于查看方式。您可以为 Builds For 选择从 7.0 到 4.3 的任何内容,您可以选择“7.0 及更高版本”或“6.1 及更早版本”。

在此处输入图像描述

于 2013-09-19T00:05:44.083 回答
0

虽然它不是您正在寻找的东西,但您可以将 Xcode 4 和 Xcode 5 保持在相同的构建环境中,并xcodebuild通过使用环境变量来控制运行(请参阅xcrun 的手册页。我们刚刚将其设置在我们的构建服务器之一。在您的构建定义中,只需设置以下环境变量:

DEVELOPER_DIR=<path to Xcode 4.app>/Contents/Developer

对我们来说,它最终是:

DEVELOPER_DIR=/Applications/Xcode-4.app/Contents/Developer

这会覆盖xcode-select设置并允许您使用正确的 Xcode 环境。同样,这取决于构建系统设置环境变量的能力,以及安装两个版本的 Xcode。您可以在适用于 Apple Developers的下载中下载旧版本的代码

于 2013-10-11T21:29:23.163 回答