我是iOS新手。我想使用CAEmitterLayer,它仅支持iOS 5,但我的应用程序应支持iOS 4及更高版本。我正在使用[UIDevice currentDevice] .systemVersion 检查版本,但它崩溃了。
以下是代码:
@class CAEmitterLayer;
@interface FireView : UIView
@property (strong) CAEmitterLayer *fireEmitter;
@property (strong) CAEmitterLayer *smokeEmitter;
- (void) setFireAmount:(float)zeroToOne;
@end
//如果iOS> = 5.0
,请创建FireViewif ([[UIDevice currentDevice].systemVersion doubleValue] >=5.0) {
FireView *fireView = [[[FireView alloc] initWithFrame:CGRectMake(0, 95, 100, 280)] autorelease];
[self.view addSubview:fireView];
}
问题是我在创建FireView之前崩溃了。
错误:dyld:未找到符号:_OBJC_CLASS _ $ _ CAEmitterCell
即使我不包含FireView.h文件,仍然会崩溃。 我应该同时创建iOS4和iOS5版本吗?
你能给我一些建议吗? 请帮忙。非常感谢你。答案 0 :(得分:1)
您可以通过以下方式检查CAEmitterLayer类是否在当前设备的iOS版本上可用:
if (NSClassFromString(@"CAEmitterLayer"))
{
// available
}