I'm assuming you're using this article, because I was too and had the same problem. There's actually a bug in his code. The CIDetector instantiation should look like:
CIDetector *smileDetector = [CIDetector detectorOfType:CIDetectorTypeFace
context:context
options:@{CIDetectorTracking: @YES,
CIDetectorAccuracy: CIDetectorAccuracyLow}];
Note that the detector type is CIDetectorTypeFace, rather than CIDetectorSmile. CIDetectorSmile is a feature option rather than a detector type, so to extract just the smiles (and not all the faces), use this code:
NSArray *features = [smileDetector featuresInImage:image options:@{CIDetectorSmile: @YES}];