Questão de tempo de fundo para o aplicativo Bluetooth LE para Iphone 4s

Eu estou usando a estrutura core-bluetooth para o meu aplicativo no iPhone-4s.
Isso normalmente tem que ser um aplicativo de segundo plano que pode ser executado o mais tempo possível.

Agora está funcionando apenas por 40 min - 1 hora no máximo.

Eu estou esperando pelo menos 1 dia ou mais.

Para este valor "bluetooth-central" é adicionado na chave "Modos de fundo necessários" no arquivo .plist.

Parece que meu aplicativo vai "suspender" o modo, no final. desde quando eu abro o aplicativo novamente (fundo para o estado de primeiro plano) ele está enviando a notificação novamente, isso significa que a conexão Bluetooth ainda está conectada e o dispositivo BLE ainda está enviando uma notificação. Se eu pressionar o botão home e o aplicativo chegar ao fundo, ele NÃO receberá notificação novamente.

Alguém pode me dizer por que meu aplicativo vive em modo de fundo apenas por no máximo 1 hora. Ele deve continuar funcionando como um aplicativo de música normal em segundo plano para sempre.

A Apple está dizendo algo específico sobre qual condição um aplicativo de segundo plano (que é um desses aplicativos em execução contínua caindo nas 5 categorias), deixando de ir para o modo de suspensão?

Referindo "iPhoneAppProgrammingGuide", em "Communicating with a Bluetooth Accessory"seção, eu vim a saber que, para longa execução tarefa de fundo para Bluetooth LE aplicação 2 implementações são necessárias:

1) A chave UIBackgroundModes deve ser "bluetooth-central" emInfo.plist Arquivo. 2) Qualquer aplicativo que suporte o processamento em segundo plano de dados Bluetooth deve ser baseado em sessão.

Então, para o meu aplicativo, a primeira implementação foi incorporada, e com esse aplicativo é possível executar em segundo plano e fazer todas as tarefas para duração máxima de 1 hora.

Agora preciso implementar a segunda implementação. isto é, baseado em sessão. Que permitirá obter os eventos, mesmo se o aplicativo estiver no estado "suspender" de acordo com a documentação. Eu tentei encontrar para criar uma sessão adequada específica para Bluetooth LE (Core Bluetooth framework) como o "EASession"presente para Bluetooth clássico (quadro de acessório externo). Mas eu não o encontrei.

Basicamente, não tenho certeza de qual classe de sessão eu preciso usar para o propósito do BLE. Para áudio / vídeo, rede e internet, acessório externo, existem classes de sessão individuais disponíveis. Não existe nenhum para o framework Core Bluetooth.

Alguém poderia me ajudar, qual classe de sessão é adequada para BLE.

questionAnswers(1)

yourAnswerToTheQuestion