Книга: iOS. Приемы программирования

Решение

Решение

Пользуйтесь методом isGyroAvailable, относящимся к классу CMMotionManager, чтобы проверить наличие гироскопа. Кроме того, метод isGyroActive позволяет узнать, посылает ли в данный момент гироскоп обновления вашему приложению, то есть активен ли он:

#import «AppDelegate.h»
#import <CoreMotion/CoreMotion.h>
@implementation AppDelegate
— (BOOL) application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
CMMotionManager *motionManager = [[CMMotionManager alloc] init];
if ([motionManager isGyroAvailable]){
NSLog(@"Gryro is available.");
} else {
NSLog(@"Gyro is not available.");
}
if ([motionManager isGyroActive]){
NSLog(@"Gryo is active.");
} else {
NSLog(@"Gryo is not active.");
}
self.window = [[UIWindow alloc] initWithFrame:
[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}

Эмулятор iOS не позволяет имитировать работу гироскопа. Запустив этот код в эмуляторе, вы увидите в окне консоли примерно такой текст:

Gyro is not available. // гироскоп недоступен
Gyro is not active. // гироскоп неактивен
Если запустить этот код на устройстве с iOS, оборудованном гироскопом, например на новом iPhone, то результаты будут иными:
Gyro is available. // гироскоп доступен
Gyro is not active. // гироскоп неактивен

Оглавление книги


Генерация: 0.066. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз