2

我最近向AppStore提交了(我的第一个)应用程序。它可以在 OS X 10.8 上运行,并使用 ShareKit 等 10.8 的一些功能。我还想支持 OS X 10.7,使其可供 10.7 用户使用。当然,这意味着 10.7 版本将没有 ShareKit 功能。但是我不确定要使用什么编译设置来使其对两者都可用,这样 10.8 用户将能够使用这些功能,而 10.7 用户将看不到它们。

  1. 我尝试将 Base SDK 更改为 10.7,但它无法编译。
  2. 我尝试将部署目标更改为 10.7,保持 Base SDK 10.8。它已编译,但我不确定这是否是正确的做法。也没有 10.7 机器来测试它。

如果案例 2 正确,我如何检查代码并禁用菜单项?

4

1 回答 1

4

number 2 is the correct thing to do, but being able change sdk to 10.7 is very nice, because in general if it won't compile because a class or method is missing it won't run.

you will need to re-write code to dynamically detect if things are available for use...

Class Some108Class = NSClassFromString(@"The10_8Class"); //will be Nil in 10.7

or

[var respondsToSelector:@selector(someMethod)]; // returns no if someMethod isn't available 
[SomeClass instancesRespondToSelector:@selector(someMethod)];//same
于 2013-08-24T17:11:35.070 回答