如何提交与 10.6 兼容的 OSX 10.7 应用程序?
我想构建一个 OSX 应用程序,它将使用一些新的 10.7 SDK 功能(更具体地说,应用程序内购买)。但是我不想完全阻止 10.6 用户安装该应用程序。
我怎样才能让 10.7 用户可以访问新功能,而 10.6 用户根本没有新功能但仍然可以使用基本功能?
当我编译 10.6 时,它不会像预期的那样加载具有“InApp”的 SDK。我想如果我为 10.7 版本进行编译,用户将无法从 AppStore 安装它。
I want to build an OSX application that will use some of the new 10.7 SDK features (more specifically, In-App purchases). However I don't want to completely prevent 10.6 users from installing the application.
How can I make it so that 10.7 users have access to the new features, and 10.6 users simply don't have the new features but can still use the basic stuff?
When I compile for 10.6 it doesn't load the SDK that has "InApp", as expected. And I suppose if I compile for 10.7 users won't be able to install it from the AppStore.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用这些方法之一来确定用户的操作系统版本,然后如果他们正在运行Lion,运行代码,如果不运行则不要运行它(使用 if 语句)
编辑:您还必须弱链接 storekit 框架
You can use one of these methods to determine the user's OS version, then if they are running Lion, run the code, if they aren't don't run it (use an if statement)
Edit: You'll also have to weak link the storekit framework
不确定这是否有帮助,但对于较新的 API(例如仅适用于 Lion 的 API),我只是使用带有 respondToSelector 的 IF 语句:
这是 Apple 建议的方法之一,您不必在了解特定操作系统的过程中陷入困境运行时。
Not sure if this helps, but for newer API's (such as those for Lion only) I just use an IF statement with respondToSelector:
This is one of the way suggested by Apple and you don't have to mess with knowing a particular OS during runtime.
您能否创建一个可以加载并提供 10.7 功能的捆绑包?您的真实应用程序可以检查它正在运行的操作系统,并且不会加载 10.7 捆绑包。我不知道这是否有效,因为 10.7-SDK 捆绑包拒绝在 10.6 SDK 应用程序中加载并不是不合理的。
另一种可能性可能是在后台有两个应用程序,并有一个非常小的 shell 应用程序(甚至可能是一个脚本)来检测主机操作系统并执行操作系统正确的可执行文件。
Could you create a bundle that could get loaded and offer the 10.7 features? Your real app could check to see which OS it's running under and not load the 10.7 bundle. I don't know if this would work since it wouldn't be unreasonable for a 10.7-SDK bundle to refuse to load in a 10.6 SDK app.
Another possibility might be to have two apps under the hood, and have a very small shell app (possibly even a script) that detects the host OS and execs the OS-correct executable.