我们是否可以上传多个“.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 应用商店中实施这些功能?
问问题
103 次
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 回答