お世話になります。

位置情報を利用したアプリを作っているのですが、思うように位置情報の切り替えが出来ません。

具体的にはアプリ終了時(バックグラウンドでも生きていない)時の位置情報の取得です。

簡単なアプリの流れです。

・ボタンを押す(off>on)と位置情報の取得開始CLLocationManagerのstartUpdatingLocationで取得開始。

・バックグラウンド、アプリ終了時はstopUpdatingLocationをしstartMonitoringSignificantLocationChangesをして基地局ベースに切り替え。
 実際にこの処理を行っているのはapplicationDidEnterBackground:です。(Notificationで呼び出し)

・フォアグラウンドに来た時はMonitoringSignificantLocationChangesをし、startUpDatingLocationに切り替え。
 実際にこの処理を行っているのはapplicationWillEnterForeground:です。(Notificationでメソッド呼び出し)

・ボタンを押す(on->off)したらstopUpdatingLocationでGPSの取得終了。

SignificantLocationChangesだけを使用したサンプルでは成功したのですが、既存のアプリに組み込んだ場合、バックグラウンドでは取得に成功しているのですが、アプリを終了させたら取得できません。ステータスバーのGPSマークはon表示されているままです。

色々と試したりしたのですがどうも改善されず、またネットで探してみたりもしたのですが、わかりませんでした。

なにが原因かわかる方、意見などありましたらご教授ください。