私のアプリでは、CLLocationManager と AdWhirl を使用しています。バックグラウンド モードに関する特定の開発は行っていません。バックグラウンドでアプリを動作させたくありません。つまり、ユーザーが「ホーム ボタン」を押したときに、GPS 位置情報が更新されないようにする必要があります。
昨日の夕方「ホームボタン」を押したら、今朝iPhoneのバッテリーが切れていました。これは iOS 4.1 を搭載した iPhone 4 であり、ジェイルブレイクされておらず、バックグラウンド アプリが実行されていません。
バッテリーは昨日の夕方に約 35%、今朝は 0% でした (iPhone はシャットダウンされていました)。
GPS 位置情報が更新されるたびに呼び出されるデリゲートにブレークポイントを設定しました。アプリがバックグラウンド モードの場合、デリゲートは呼び出されません。したがって、バックグラウンド モードでは GPS が本当に無効になっていると思います。
今朝、バッテリーの消耗を追跡しています。15 分ごとに約 1% 低下しています。ちょっと多すぎると思います。
アプリがバックグラウンド モードになったときに何か特別なことをする必要がありますか? この1%の低下は正常だと思いますか?