检测设备是否正确显示UIVisualEffectView?

Jor*_*n H 13 ios ios8 uiblureffect uivisualeffectview

我的应用程序UIVisualEffectView用于模糊背景,就像控制中心一样.但我发现可以运行iOS 8的iPad 2(和Retina iPad)功能不足以显示该效果,因此它恢复为灰色.我希望能够检测到应用程序运行的设备是否足够强大以显示模糊效果,如果不是,我将不会应用它,而是我会将背景颜色更改为看起来比那灰色的颜色.但我不想只是检查设备是iPad 2还是iPad第3代(它是否也会影响第4代?).有没有更好的方法来检测是否UIBlurEffect会出现预期?

csc*_*arz 9

检查此WWDC会话:http://asciiwwdc.com/2014/sessions/419

所以,重申一下我们没有模糊的设备,我们只对iPad 2和iPad第三代进行着色,我们只应用色调,我们跳过模糊步骤.

[...]

在iPad第4代,iPad Air,iPad Mini,带视网膜显示器的iPad Mini,iPhone和iPod touch上,我们同时进行模糊和着色.

我猜你必须求助于检查机器名称:

#import <sys/utsname.h>
...

struct utsname systemInfo;
uname(&systemInfo);

NSString *deviceName = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
...
Run Code Online (Sandbox Code Playgroud)