iBeacon 領域を監視する iOS アプリに取り組んでいます。アプリがバックグラウンドで実行されている場合、特定の iBeacon 領域に遭遇するたびにローカル通知を送信したいと考えています。locationManager: didEnterRegion は、ユーザーがロック画面を表示するまで呼び出されないことは明らかです。そのため、アプリがバックグラウンドにある間にデバイスが iBeacon 領域を通過した場合でも、ロック画面が表示されるまで通知を受け取りません。
また、startMonitoringForRegion を使用してみましたが、そのような動作がありました。アプリがバックグラウンドで実行されている場合、デバイスが iBeacon 領域に入ると locationManager: didDetermineState: が起動します。ただし、これは 1 回だけです。その後、ユーザーが iBeacon 領域を出て再び入った場合、locationManager: didDetermineState は再び起動しません。
私は iPhone 5s を実行しており、iBeacon として iPhone 4s を使用しています。
訂正:この現象は、クライアントとして iPhone 4s を使用している場合にのみ発生しているようです。5s を使用すると、通知はすぐに配信されます。