我是iOS新手。我想使用仅受iOS 5支持的CAEmitterLayer,但我的应用程序应支持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,则创建FireView
if ([[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版本吗?
你能给我一些建议吗?
请帮忙。非常感谢你。
最佳答案
您可以通过以下方法检查CAEmitterLayer类在当前设备的iOS版本上是否可用:
if (NSClassFromString(@"CAEmitterLayer"))
{
// available
}
关于iphone - 我正在使用CAEmitterLayer,但应用程序也应支持iOS4.0,怎么办?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10860432/