Objective c NSStackView,两名开发人员,一名在10.10(Xcode 7)上,一名在10.12(Xcode 8)上

Objective c NSStackView,两名开发人员,一名在10.10(Xcode 7)上,一名在10.12(Xcode 8)上,objective-c,xcode,macos,Objective C,Xcode,Macos,我和我的开发伙伴正在开发一款macOS应用程序 我在10.12上运行Xcode 8 他在10.10上运行Xcode 7 部署目标设置为10.10 我于10.12在Xcode 8上开发了这个项目 我将NSStackView用于UI的一个部分。在我进行了一些版本检查后,应用程序在我的操作系统(10.12)和他的操作系统(10.10)上运行,并“如果版本>x,则运行(代码)”以解决10.11中对NSStackView所做的更改 在我将“openswith…”设置为“Xcode 7.x”之后,大多数

我和我的开发伙伴正在开发一款macOS应用程序

  • 我在10.12上运行Xcode 8
  • 他在10.10上运行Xcode 7
  • 部署目标设置为10.10
我于10.12在Xcode 8上开发了这个项目

我将NSStackView用于UI的一个部分。在我进行了一些版本检查后,应用程序在我的操作系统(10.12)和他的操作系统(10.10)上运行,并“如果版本>x,则运行(代码)”以解决10.11中对NSStackView所做的更改

在我将“openswith…”设置为“Xcode 7.x”之后,大多数项目(除了包含NSStackView的xib之外)都将在其10.10+Xcode 7中打开

但是,具有NSStackView的Xib将不会。他不能打开它。他也无法编译该项目,因为该项目抱怨:

“文档”ControllerWithStackView.xib“需要OS X 10.11或更高版本”

我假设xib包含关于10.11增强版NSStackView的附加信息,而他的旧操作系统和Xcode无法处理这些信息

有没有人对我如何改变现状有什么想法,这样他就可以继续使用10.10和Xcode 7,而我使用10.12和Xcode 8?出于几个原因,他宁愿保留当前的操作系统

我的想法是:

  • 不要通过interface builder将NSStackView嵌入到xib中。相反,通过代码在控制器中创建它
  • 不要使用NSStackView。虽然它确实适用于我们的目的(传统的添加/删除/显示/隐藏行为非常适合于堆栈),但我想我可以使用NSTableView或编写自定义代码
还有其他选择吗?在Xcode 8中是否有一些神奇的设置,我可以设置为“嘿,这个堆栈视图应该针对10.10”

任何关于人们如何处理这种情况的见解都将不胜感激

谢谢,,
Eric

我将创建两个测试项目,一个使用您同事的系统,另一个使用您的系统。以相同的方式向两者添加堆栈视图和一些子视图。比较生成的.xib文件是否存在显著差异。希望您能利用所学知识调整project.xib,使其与其他系统兼容。或者,类似地,在他的系统上创建一个测试项目,然后打开它并重新保存在您的系统上,然后查看Xcode的更改。我将创建两个测试项目,一个使用您同事的系统,另一个使用您的系统。以相同的方式向两者添加堆栈视图和一些子视图。比较生成的.xib文件是否存在显著差异。希望您能利用所学知识调整project.xib,使其与其他系统兼容。或者,类似地,在他的系统上创建一个,然后打开它并重新保存在您的系统上,然后查看Xcode的更改。