我们的构建服务器最近更新为使用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 repo并使用xcodebuild构建时,它只触及Xcode 5工具链。
答案 0 :(得分:0)
是。在故事板上,转到“界面构建文档”部分,有两个选择项。一个用于构建,一个用于视图。您可以为Builds For选择从7.0到4.3的任何内容,您可以选择“7.0及更高版本”或“6.1及更早版本”。
答案 1 :(得分:0)
虽然它不是您正在寻找的,但您可以将Xcode 4和Xcode 5保持在相同的构建环境中,并使用环境变量控制运行xcodebuild
man page for xcrun我们刚刚在我们的一个构建服务器上设置了它。在构建定义中,只需设置以下环境变量:
DEVELOPER_DIR=<path to Xcode 4.app>/Contents/Developer
对我们来说,它最终成为:
DEVELOPER_DIR=/Applications/Xcode-4.app/Contents/Developer
这会覆盖xcode-select
设置,并允许您使用正确的Xcode环境。同样,这取决于构建系统设置环境变量的能力,以及安装了两个版本的Xcode。您可以在Downloads for Apple Developers