どのようにプログラムでは、iOSでのiPhoneアプリを再起動します

StackOverflow https://stackoverflow.com/questions/4238979

  •  26-09-2019
  •  | 
  •  

質問

プログラムでのiOSでiPhoneアプリを再起動する方法は?

私はこの方法を見つける http://writeitstudios.com/david/?p=54

しかし、何かの簡単なものであります。

役に立ちましたか?

解決

これを行うには、私が知っている唯一の方法は理想的ではありませんが、それは動作します。

まず、あなたのアプリがアプリは、終了したバックグラウンドタスクとして実行しないときに終了しなければならないバックグラウンド実行(マルチタスク)のオプトアウトする必要があります。これは、plistのキーUIApplicationExitsOnSuspendで行われます。

第二には、あなたのアプリがアプリを起動するために使用できるカスタムURLスキームを登録する必要があります。

第三には、あなたが読み込まれたときには、アプリケーションのカスタムURLスキームにリダイレクトすることをどこかにホストされたWebページを必要としています。

はフォース、ユーザは、アクティブなインターネット接続を必要とします。

終了して再起動するには、お使いのホストされたリダイレクトウェブページ上のUIApplicationのOpenURLを呼び出します。あなたのアプリが終了するとSafariが起動し、ページをロードします。ページは、iOSアプリを起動させ、内部のOpenURLを呼び出すためのSafariを促し、カスタムURLスキームへのSafariをリダイレクトします。

他のヒント

あなたはココアアプリケーションではなく、iOSのを参照しているにリンクされていることを私のポスト。 iOSの上では、アプリケーションを終了することができます(ただし、Appleはこの好きではない)exit(0);を使用しますが、私はそれをお勧めしません。あなたはiPhoneのアプリかかわらず、再起動することはできません。

あなたはジェイルブレイクデバイス用に開発している場合を除き、アップルも、あなたはプログラム的にアプリを終了することはできません。だから、デバイスを再起動することは問題外です。

あなたのAppDelegateインスタンスは、メソッド

を持っています
(void)applicationDidBecomeActive:(UIApplication *)application
{
}
ここでは、アプリが再起動するか、それはやっていたものは何でもやって継続すべきかどうかを把握するためのロジックを置くことができます。たとえば、あなたが最初にBOOLですが、何かがあなたが新鮮なリニューアルする次回たいというあなたのアプリケーションで発生するたびに、真としてトリガますappMustRestart変数falseを持つことができます。

if (appMustRestart)
{
    [self resetVars];  // call a method that resets all your vars to initial settings

    // INSERT CODE HERE TO TRANSFER FOCUS TO INITIAL VIEWCONTROLLER
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top