Как вы заставляете iPhone вибрировать в течение произвольного времени? - PullRequest
14 голосов
/ 05 ноября 2008

В прошивке iPhone 2.x вы можете заставить iPhone вибрировать в течение периодов времени, отличных от заданного системой:

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

В джейлбрейкнутых телефонах вы могли использовать MeCCA.framework для этого:

http://pastie.org/94481

MeCCA_Vibrator *v = new MeCCA_Vibrator;
v->activate(1);
sleep(5);
v->deactivate();

Но MeCCA.framework не существует на моем 2.x iPhone.

Ответы [ 4 ]

13 голосов
/ 11 ноября 2008

Да, это то, что вызывало отклонения AppStore в прошлом, и, вероятно, будет снова ... что означает, что это все еще возможно сделать.

Отвечая на мой вопрос, вот как это сделать:

Добавление фреймворка CoreTelephony в фазы сборки.

Объявляет:

extern void * _CTServerConnectionCreate(CFAllocatorRef, int (*)(void *, CFStringRef, CFDictionaryRef, void *), int *);
extern int _CTServerConnectionSetVibratorState(int *, void *, int, int, float, float, float);

static void* connection = nil;
static int x = 0;

инициализация:

connection = _CTServerConnectionCreate(kCFAllocatorDefault, &vibratecallback, &x);

Начать вибрацию:

_CTServerConnectionSetVibratorState(&x, connection, 3, intensity, 0, 0, 0);

остановка вибрации:

_CTServerConnectionSetVibratorState(&x, connection, 0, 0, 0, 0, 0);

Этот код взят из HapticKeyboard , загружаемого приложения, которое звонит по телефону при вводе. Он доступен для взломанных телефонов на Cydia. Смотрите также мой опыт джейлбрейка )

Любые другие хорошие ссылки?

4 голосов
/ 06 ноября 2008

Мало того, что это невозможно сделать с помощью SDK, но это также первый элемент в Неофициальных критериях отклонения магазина приложений .

4 голосов
/ 06 ноября 2008

Нет способа сделать это с помощью SDK, извините.

0 голосов
/ 20 января 2012

В iOS 5 реализован режим пользовательских вибраций. Так что в некоторых случаях переменная вибрация приемлема. Единственное, что неизвестно, что библиотека имеет с этим дело (точно не CoreTelephony) и открыта ли она для разработчиков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...