Question: It is a best practice to detect if a certain feature's class exists and degrade user's features depending on availability. I created UICollectionView in storyboard and a standard tableview to support ios 5.1 users. I then simply check if the user has this feature and segue to the appropriate scene. However, when I now try to compile my code I get a "dyld: Symbol not found: \_UICollectionElementKindSectionHeader" This seems very anti-pattern of apple to not allow ios6.0 features in storyboard with a ios 5.1 deployment target. 

```
if ([UICollectionView class]) {
    [self performSegueWithIdentifier:@"UserShow" sender:self];
} else {
    [self performSegueWithIdentifier:@"UserShowTable" sender:self];
}

```

The above seems like a pretty reasonable approach to me...

Answer: 
You can't. As soon as you drop the collections view controller to the storyboard, it will try to reference it automatically, what will result in the compilation error you've got.
There's no compatibility solution for pre-6.0 deployment via storyboards, but [PSTCollectionView](https://github.com/steipete/PSTCollectionView) does support iOS 5.0+ and is actively maintained. It does work at runtime to use `UICollectionView*` on 6.0 and later, and should be storyboard compatible.