これは、アプリケーションがユーザーによって選択されたBTに接続されているときに何らかの処理を行うことができるプライベートアプリケーション用です。 https://github.com/michaeldorner/BeeTee経由でbluetoothmanager.framework
を使用していますが、残念ながら、アプリケーションがバックグラウンドにある場合は、アプリケーションを起動することができないようです。 可能ですか?我々はでそれを行う方法を手がかりにしてうれしいです。アプリケーションは永遠にバックグラウンドで公開されています - プライベートアプリ
私たちは、膨大なバッテリ消費がなくてもユーザーがそれを殺さないうちに、バックグラウンドでアプリを稼動させる方法を見つける必要があります。
現在、私たちはこのアプリを保つこの作品を使用しています。生きている間2 &最大4時間(十分ではありません明らかに、このいずれかでアプリケーションが何を消費しません:2時間で約1%)
背景モード:
- VoIPは
- 場所更新
- 背景フェッチ
- オーディオプレイ
使用されたコード:
- (void)applicationDidEnterBackground:(UIApplication *)application {
if([[NSUserDefaults standardUserDefaults]objectForKey:@"account"]){
_background_task = [application beginBackgroundTaskWithExpirationHandler:^ {
NSLog(@"cleanup code for end of background allowed running time");
[application endBackgroundTask: _background_task];
_background_task = UIBackgroundTaskInvalid;
}];
// run background loop in a separate process
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"start of background loop");
while (TRUE)
{
NSTimeInterval remaining = [[UIApplication sharedApplication] backgroundTimeRemaining];
// background audio resets remaining time
if (remaining < 60) {
[self playSpeech:@"up" andVolume:0.0];
}
[NSThread sleepForTimeInterval:1]; //wait for 1 sec
}
NSLog(@"end of background loop");
[application endBackgroundTask: _background_task];
_background_task = UIBackgroundTaskInvalid;
});
[[Detector singleton] startDetection];
}
}
ユーザーのバッテリーを台無しにすることなく、生きているバックグラウンドでアプリケーションを保管してください方法についての手がかり?
※ユーザーの電池を傷つけることなく、アプリケーションをバックグラウンドで使用してください*。それは矛盾です。バックグラウンドタスクが何もしなければ、バッテリーの寿命はかかりません。しかしGPS/Bluetoothを使用している場合は、バッテリーを絶えず消費する必要があります(BLEはバッテリーの使用量を減らします)。 – Raptor
私は具体的なことは許されませんが、現在、 BT。したがって、通常の使用での現在の作業は約1%/ 2時間のバッテリー消費ですが、OSがしばらくしてアプリケーションをスリープ状態にするので、この解決策は実行可能ではありません –