我的 Mac OS X 应用程序可以在 10.10 及更高版本中使用故事板,但不能在 10.6 到 10.9 中使用吗?

Can my Mac OS X App use Storyboards in 10.10 and later, but not in 10.6 through 10.9?

我正在从事一项咨询工作,我的客户通过使用故事板获得了他的应用程序原型,可以在 Mac OS X 10.10 (Yosemite) 上运行。但是,该应用程序在 10.9.x 及更早的时候崩溃了,因为在 Cocoa 桌面应用程序中使用故事板所需的 API 尚不可用。

目前这个应用不是很复杂,所以我可以通过修改他的应用来满足他的即时需求,完全不使用故事板,我会实现他的UI "The Old-Fashioned Way",完全不使用故事板。

我不确定什么是最好的行动方案。如果我实施我刚才所说的,他最终会发现他的 UI 被 Apple 弃用了。如果我在 10.10 及更高版本上使用故事板,但在 10.9 及更早版本上不使用,那么我的客户开发此代码的工作量可能会增加一倍。

请注意,作为顾问,我可以通过增加客户的工作量来获益。我不想这样做,因为我认为通过编写糟糕的代码来利用我的客户是不道德的。真想好好对付这家伙

正确。故事板仅适用于 MacOS X 从 10.10 (Yosemite) 开始。对情节提要的支持是 Cocoa 框架的功能,因此它在版本 <= 10.9 上不存在这一事实意味着使用情节提要的代码将无法工作。

I'm not real sure what is the best course of action.

我认为最合理的解决办法是向你的客户说明情况,让他决定。如果基于 .xib 的代码消失,还需要很长时间,所以现在坚持使用 .xib 文件不一定是一个糟糕的选择。另一方面,您的客户可能更愿意拥有您可以构建的最具前瞻性的应用程序,并且他可能不太关心支持旧的 OS 版本。 (一些消息来源表明,截至 2015 年初,大约一半的 Mac 是 运行 Yosemite。)你会为你的客户提供最好的服务,为他提供他需要做出决定的信息,然后写下按照他的意愿app。