Вы должны писать код для защиты и всегда приятно «ухудшать» приложение.
Например, вы должны подумать о том, как ваше приложение будет работать, если акселерометр отсутствует.
Посмотрите на класс CMMotionManager, в частности на его свойство accelerometerActive, которое возвращает BOOL. Вот пример:
CMMotionManager *manager = [[CMMotionManager alloc] init];
if(!manager.accelerometerAvailable) {
NSLog(@"Accelerometer not available");
} else {
manager.accelerometerUpdateInterval = 1.0;
NSOperationQueue *motionQueue = [[NSOperationQueue alloc] init];
[manager startAccelerometerUpdatesToQueue: motionQueue withHandler:
^(CMAccelerometerData *data, NSError *error) {
NSLog(@"Accelerometer data: %@", [data description]);
}
];
}