我最近向AppStore提交了(我的第一个)app。它适用于OS X 10.8并使用一些10.8功能,如ShareKit。我也想支持OS X 10.7,以便为10.7用户提供支持。当然,这意味着10.7版本不具备ShareKit功能。但是我不确定使用什么编译设置使它们都可用,这样10.8用户就可以使用这些功能而10.7用户将看不到它们。
如果案例2正确,我如何检查代码并禁用菜单项?
答案 0 :(得分:4)
数字2是正确的做法,但能够将sdk更改为10.7是非常好的,因为一般情况下如果因为缺少类或方法而无法编译它将无法运行。
您需要重新编写代码以动态检测是否可以使用...
Class Some108Class = NSClassFromString(@"The10_8Class"); //will be Nil in 10.7
或
[var respondsToSelector:@selector(someMethod)]; // returns no if someMethod isn't available
[SomeClass instancesRespondToSelector:@selector(someMethod)];//same