0

バックグラウンドで実行する必要があるロケーションベースのアプリケーションがあります。古い 3G を含め、いくつかの iPhone をテストしています。バックグラウンドの位置情報ベースのサービスを必要とするようにアプリを登録すると、古い 3G 電話で宣伝されているとおりにすべてが機能します。ロック ボタンを押すと、applicationWillResignActive: が実行されます。残念ながら、電話はすぐに低電力モードになります。携帯電話を USB ケーブルでテザリングし、ロック ボタンを押すと、3G 電話は動作し続け、場所の変更を正しく報告します。切断すると、すぐに低電力モードになります。

奇妙なことに、以前は機能していたと確信しています。位置情報サービスに登録し、ロック ボタンを押してもすぐに低電力モードにならない古い iPhone (3G) で実行されているアプリを誰かが持っているかどうかを確認したいと思います。もしそうなら、私は何を間違っていますか。

私はすべての指示に従い、Info.plistに場所を持っています。

ご協力いただきありがとうございます!

乾杯、ブライアン

4

1 に答える 1

0

期待される動作が見られると思います。

古い 3g を使用した最近の旅行で、USB から電源が供給されている場合にのみ Location Manager がアクティブなままになっていることに気付きました。USB では、電話のロックを解除すると、すぐにアプリ (この場合は Google マップ) が起動し、Location Manager がアクティブになります。USB がなければ、電話のロックを解除するたびに Location Manager を再起動する必要がありました。

これは安全/省電力機能であると強く疑っています。Location Manager は、特に古いデバイスでは、バッテリー寿命を驚くべき速さで消費します。バッテリを使用している間に Location Manager を継続的に実行することで、ユーザーの知らないうちに簡単に電話をフラットにすることができます。

Location Manager をバックグラウンドで継続的に実行する必要がある設計には非常に懐疑的です。徹底的にテストします。

ユーザーが「Bryan のアプリを使っていると不思議なことにバッテリーが切れる」と判断した場合の経済的結果や、電話が機能していない状態で誰かを緊急事態に放置した場合の道徳的結果は望ましくありません。

于 2011-06-08T18:40:00.557 に答える