Pergunta

No firmware do iPhone 2.x, você pode fazer o iPhone vibrar para outras durações que não sejam definidas pelo sistema:

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

Nos telefones jailbreak, você costumava usar o Meca.Framework para fazer isso:

http://pastie.org/94481

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

Mas Mecca.Framework não existe no meu iPhone 2.x.

Foi útil?

Solução

Sim, isso é algo que causou rejeições no passado, e provavelmente o fará novamente ... o que significa que ainda é possível fazê -lo.

Respondendo à minha própria pergunta, veja como fazer isso:

Adicione a estrutura Coretelephony nas fases de construção.

declarar:

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;

inicializar:

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

Iniciar a vibração:

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

Parar de vibração:

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

Este código é de HapticKeyboard, um aplicativo para download que zuze o telefone enquanto você digita. Está disponível para telefones jailbroken em Cydia. Veja também minha experiência com jailbreak)

Alguma outra boa referência?

Outras dicas

Não há como fazer isso usando o SDK, desculpe.

Não é apenas impossível fazer o uso do SDK, mas também é o primeiro item no Critérios de rejeição da loja de aplicativos não oficiais.

O iOS 5 implementou o modo de vibrações personalizadas. Portanto, em alguns casos, a vibração variável é aceitável. A única coisa é desconhecida com o que a biblioteca lida com isso (com certeza não o CoreTelephony) e se estiver aberto para desenvolvedores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top