0

我们是否可以上传多个“.app”文件,每个文件用于不同的操作系统版本,例如版本 10.7 我有一个不同的应用程序构建,其功能仅在 10.7 及更高版本中支持,而对于 10.8,一个不同的应用程序具有受 1.8 和更高版本支持的功能之后 ??我的下一个问题是,Mac App Store 应用程序是否足够聪明,可以根据他/她的操作系统版本为用户提供该版本(如果使用 10.7 而不是下载 10.7 版本的应用程序,如果用户拥有 10.8 而不是下载 10.8 版本的应用程序)用户机器)??iOS 是否有类似功能(例如 iOS 6 和 iOS 5 等)?如果没有,Apple 是否有计划在其 iOS 和 Mac 应用商店中实施这些功能?

4

1 回答 1

0

简短的回答是否定的。

您真的应该动态地执行此操作。例如,您可以弱链接框架并测试特定 objc 类的存在。

gcc -weak_framework AVFoundation source.m

if (NSClassFromString(@"AVCaptureSession")) {
  // do stuff with AVFoundation here
}

您还可以测试特定对象是否响应您想要使用的选择器。

if ([myObject respondsToSelector:@selector(selectorYouWantToUse:)]) {
  [myObject selectorYouWantToUse:@"indeed"];
}

有时这些都不做正确的事情,在这种情况下,您可以在以下位置检查文件

/System/Library/CoreServices/SystemVersion.plist

我发现将其包装在带有签名的函数中很有用

bool macOSXVersionIsAtleast(int major, int minor, int bugfix);

(实现留给读者)。

于 2013-08-12T08:40:11.497 回答