[英]OSX: How to maintain compatibility with older OSX/SDK
I have a piece of code like this: 我有一段这样的代码:
AVCaptureScreenInput *input = [[AVCaptureScreenInput alloc] initWithDisplayID:screen.displayID];
input.capturesCursor = NO;
input.capturesMouseClicks = NO;
AVCaptureScreenInput.capturesCursor
is only available in 10.8+. AVCaptureScreenInput.capturesCursor
仅在10.8以上版本中可用。 My app supports 10.7+. 我的应用程序支持10.7+。
How do I maintain compatibility? 如何保持兼容性? Should I remove the call completely?
我应该完全删除通话吗? Check the OS version at runtime?
在运行时检查操作系统版本?
You should check if the property exists in runtime. 您应该检查该属性在运行时是否存在。
This code should do the trick: 这段代码可以解决这个问题:
AVCaptureScreenInput *input = [[AVCaptureScreenInput alloc] initWithDisplayID:screen.displayID];
if ([input respondsToSelector:@selector(setCapturesCursor:)]) {
input.capturesCursor = NO;
}
input.capturesMouseClicks = NO;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.