我们可以上传多个“.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应用程序商店中实现这些功能吗?
答案 0 :(得分: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);
(实施留给读者)。