問題タブ [region-monitoring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iBeacon: 現在地に基づいて起動するアプリ
これはどういう意味ですか?
特定の iBeacon リージョン モニタリング用に登録したアプリを作成しました。アプリを一度実行して、監視を iOS に登録できるようにしますが、アプリを終了してテストしようとすると (ビーコン近接に入るときにアプリが iOS によって起動されるかどうかをテストします) 。
アプリが iOS によって正常に起動されることがあることに気付きました ( UIApplicationLaunchOptionsLocationKeyに等しいオプション キーを使用してアプリが起動されたときにトリガーされる UILocalNotification を追加しました。監視設定で、開始時に通知し、終了時に通知することを選択しました。
ただし、ビーコンをオフにしてホームボタンをダブルタップすると、上の図が表示されます。ビーコンがオンになっている間、この状態がしばらく続きますが、通知はトリガーされません。時々通知をトリガーします(ただし、常にではありません)。
どうやらアプリが起動されていないのに、iOS がアプリを表示し続けるのはなぜですか? ビーコン領域に入ったときにアプリが常に起動されることが保証されていますか? (私は20分間待っていました..過去の日付の通知をまとめて受け取ることがあります..たとえば、30分後に30分前の期日で通知を受け取ります...)
ios - UIApplicationLaunchOptionsLocationKeyの後にアプリがバックグラウンドで起動された後にapplicationWillTerminateが呼び出されない
目的:アプリがいつシャットダウンするかを検出しようとしています。iOS がアプリを強制終了した後、applicationWillTerminate が呼び出されません。
質問:
アプリが起動された後、applicationWillTerminate が呼び出されず、その後 iOS によって終了されます (通常は 10 秒かかります)。ロケーション イベント (例: ビーコン領域、別名UIApplicationLaunchOptionsLocationKeyに入る) によってバックグラウンドで終了します。何故ですか?
- テスト方法 1: http://lemonjar.com/iosconsole/
- テスト方法 2: UILocalNotifications を追加
イベントの順序:
- アプリが実行されていません
- ビーコンがオンになっています
- アプリは iOS によって起動されます
- しばらくすると (通常は 10 秒)、アプリの実行が停止します
- ただし、applicationWillTermiante メソッドは呼び出されていません。
ios - ビーコン領域監視アプリの CLLocationManager のライフサイクル
アプリを再起動して次のメソッドを見るたびに、返された beaconRegion が nill ではないことに気付きました。これはどのように正確に機能しますか?
つまり、iOS はCLLocationManagerの割り当てをどのように処理するのでしょうか。アプリが起動されるたびにデシリアライズし、この方法で地域情報を取得しますか?
これは、以下のコードを実行したときの Xcode デバッガー コンソールの出力です。
以下に、これをテストするために使用しているソース コードを貼り付けます。参考になるかもしれません (これは、Apple が提供するAirLocateの例に基づいています)。
ios - iOS 地域の監視 - アプリの更新後も存続しますか?
Region Monitoring を使用してバックグラウンドで起動するアプリがあります。地域の初期化はアプリの起動時に行われるため、アプリの最初の起動前 (つまり、インストール直後) に地域の監視がアクティブになっていないことは明らかです。
アプリが少なくとも 1 回起動されたと仮定すると、アプリの更新後はどうなりますか? 地域の監視が機能し続けるために、ユーザーはアプリを再起動する必要がありますか?
アプリの更新では、リージョンの構成に変更はありませんでした。
ios - 地域を監視するときに iBeacon のメジャー/マイナー値を使用できますか?
いくつかの物理的な場所に展開された特定の iBeacon のセットを検出するテスト アプリを構築しようとしています。検出はバックグラウンドで実行し、特定のロジックに従ってサーバーを呼び出す必要があります。
Apple の経験則では、すべての物理的な場所に同じ UUID を使用しています。
UUID はすべての場所で共有されます。
これにより、iOS デバイスは単一の識別子を使用して、単一の地域のストアを認識することができます。
次に、特定の店舗 (サンフランシスコ、パリ、ロンドン) ごとに一意のメジャー値が割り当てられ、デバイスがどの特定の店舗にあるかを識別できるようになります。
特定の UUID でリージョンを設定するための呼び出しを見つけましたが、UUID が検出されたときに返されるオブジェクトと、返されるフィールドが見つかりませんでした。
iOS が特定の でビーコンを検出した場合、アプリはどこでmajor
/minor
値を取得しUUID
ますか?
ios - iOS デバイスの再起動後、位置情報の更新を受信し始めるまでにどのくらいかかりますか?
ジオフェンシング/ビーコン領域の監視を行うアプリがあります。アプリは、フォアグラウンド、バックグラウンド、および強制終了された状態でうまく機能します。
問題: 電話を再起動した後 (アプリを強制終了せずに)、ビーコン/ジオフェンス イベント (入口/出口) の遅延に気付き、再起動時にアプリを手動で起動しません。以前にリージョンに入ったとしても、再起動の 3 ~ 4 分後にのみ、入口/出口イベントの取得を開始します。それは正常な動作ですか?
ありがとう