2009-10-23 135 views
3

我的应用程序需要在10.4或更高版本上运行。如果我在10.3上启动它,它只是无法启动或崩溃。如何在Cocoa应用程序中执行最低操作系统要求?

你如何巧妙地执行最低系统要求?你可以自定义它显示的消息吗?

+0

老实说,有人甚至*使用* 10.3了吗?如果这是一个商业产品,那么完全可以肯定地说10.3是一个不推荐的操作系统(即使苹果不再支持10.3)。 –

+1

这是一个商业产品,它有一个非常利基的观众。我*希望*没有人使用10.3,但是因为我们支持它并且直到现在对它进行了测试,所以我必须逐步淘汰它。 – zekel

回答

2

我没有使用这些技术/建议,只是传递我收集的信息。

您可能会尝试类似SystemVersionCheck “shim” executable之类的操作来为不支持LSMinimumSystemVersion(例如10.3)的版本提供可用的操作系统版本检查。

预编译的可执行文件仅限PPC。您可能需要重新构建它以支持PPC和Intel机器,以便它可以与10.3一起使用,但也会导致10.6个用户不会不必要地安装Rosetta。我发现了一个博客文章,其中有a hint on how to setup the PPC build to target 10.3 and the Intel build to target 10.4u(尽管最新版本的Xcode甚至包含10.3 SDK,但是它的编写约为10.5和Xcode 3.0)。

+0

不是。你得到10.4u,10.5和10.6。同样,曾经有一个10.2的东西SDK,他们杀死了几个版本的Xcode之前(3或之前的版本)。 –

+0

我登录到ADC,并通过了“关于” PDF文件找的Xcode 3.2.1,3.2(10.6),3.1.4(10.5)。 10.3 SDK在Xcode 3.1.4中被提及为可选安装,但在3.2+中完全没有提及。貌似10.3发展限制在至多在Xcode 3.1.X 10.5(也许从3.1.X的10.3 SDK可以与3.2.x中进行安装,但似乎不确定的问题)。 –

+0

我能在这里从10.6建造10.3,见我的问题:http://stackoverflow.com/questions/2074444/is-there-a-way-to-get-use-the-os-x-10- 3-cocoa-sdk-on-a-10-6-machine – zekel

9

为您的应用程序Info.plist添加一个密钥,将LSMinimumSystemVersion指定为10.4.X用于您需要的任何X作为次要版本。更多信息,请参阅Apple's documentation

+3

您也可以使用单独的密钥按架构进行设置。对于x86_64,你需要10.5或10.6。 –

+0

我将LSMinimumSystemVersion设置为10.4.11,并且我的应用程序仍然在10.3上启动并崩溃......我想我在某处忽略了LSMinimumSystemVersion? – zekel

2

如果您手动添加LSMinimumSystemVersion关键应用程式的plist中后遇到系统崩溃,那么这是由于搜索没有正确认识到应用程序的改变的状态。重新启动Finder(例如注销)或复制Finder中的应用程序。该副本然后将正确行为。

+0

很高兴知道。这可能为我节省了一个星期。 – zekel

相关问题