2011-12-29 10 views
2

Cardcaseアプリケーションを使用すると、以前の関係のあるショップに近づいたかどうかを知ることができます(支払いのタブなどを設定した場合など)。バックグラウンドアプリケーションが自動的に起動できない場合Cardcaseがどのように場所を変更して起動するのですか?

デバイス起動時にバックグラウンドで実行中のアプリケーションを自動的に起動できない場合、このアプリケーションはどのように機能しますか?

私の質問を明確にするために編集:場所の変更を監視する方法や、バックグラウンドでの場所の変更を監視する方法は問いません。私の質問は、ユーザーがこのアプリケーションをインストールすると、いくつかの場所のタブを追加してから、iPhoneを再起動した後、起動時のアプリケーションの起動がサポートされていない場合に、

このアプリケーション(と他のアプリケーション)は、デバイスの再起動ごとにユーザーが明示的に起動する必要がありますか?

+0

私は、iPhoneの電源投入時にアプリケーションが自動的に起動することは聞いたことがないので、Cardcaseは、バックグラウンドで実行中に、(場所の大幅な変更に基づいて) –

+0

私は、最初に場所の変更を登録するためにバックグラウンドで実行されることになるのだろうと思っています。ユーザーがこのアプリをインストールし、さまざまなショップでタブを作成して再起動すると、店に近づいたときにアプリに通知することはできませんか? – Gruntcakes

+0

あなたはiPhoneが再起動したときにCardcaseが魔法のように起動すると言っていますか?ユーザーが明示的にそれを起動することなく? –

答えて

4

これはリージョンの監視で行うことができます。あなたはCLLocationManager上、この方法で監視したい地域登録:あなたのアプリケーションが実行されていない場合でも、その後

- (void)startMonitoringForRegion:(CLRegion *)region desiredAccuracy:(CLLocationAccuracy)accuracy

をユーザーが領域に入るか離れると、それがバックグラウンドで起動されます。 Appleのdocsから

あなたは地域の監視を開始し、アプリケーションがその後 が終了した場合は領域の境界を超えた場合、システムは自動的にバックグラウンド にそれをrelaunches。そのような場合、 ディクショナリがアプリケーションに渡されました:didFinishLaunchingWithOptions: アプリケーション代理人のメソッドに、 UIApplicationLaunchOptionsLocationKeyというキーが含まれています。これは、場所関連のイベントのために アプリケーションが起動されたことを示します。 では、新しいロケーション・マネージャを作成し、デリゲート を割り当てると、対応するリージョン・メッセージが配信されます。

EDIT

はちょうど私の自身のアプリでこれをテストしました。オフィスを出る前に私の電話を再起動し、アプリはいつものように私のドライブの家に立ち上げられました。そう、はい、これは間違いなくリブートから生き残ります。

希望に役立ちます。

+0

ありがとうございますが、私は私の質問を非常にうまく説明したとは思わない - 私の質問は、デバイスの再起動後にstartMonitoringForRegionを呼び出すために、最初の場所でアプリケーションを実行する方法です。私はそれをより明確にするために質問を更新しました。 – Gruntcakes

+0

さて、Casecardの場合、ユーザーはアプリを少なくとも1回は実行していますか?私たちはアプリでこの機能を使用し、登録はデバイスの再起動後も存続します。 –

+0

アプリがstartMonitoringForRegionに登録されていると、再起動しても生き残れないと思われますか?あなたはそれが言っているのですか? – Gruntcakes

0

これはジオフェンシングアプリ(startMonitoringForRegionを使用するアプリ)に有効です。

私の推測では、あなたがこのクラスを使用してアプリケーションをインストールする場合、責任のiOSフレームワークは自動的にiOSの内部のアプリのバックグラウンドサービスのスタートアップのためのlaunchdのスクリプトを登録することです。

もちろん、あなたがjailbrokenしていない限り、iOS起動サービスの細かい制御がないので、これはすべて自動的に行われます。

あなたは、これはフードの下でどのように動作するかを確認するために、あなたのアプリにstartMonitoringForRegionを使用してデバイスを脱獄し、launchdの上で確認することができます。

関連する問題