2012-02-03 22 views
6

更新パラメータを含むxml fileをダウンロードしてから、これらのパラメータをリロードしていくつかのビューを初期化する必要があります。最も簡単な方法は、次のアプリ起動時にこの設定を適用することです。プログラムでiOS applicationを再起動する方法はありますか?iOSでプログラムを再起動または再読み込みする方法

ありがとうございます。

答えて

9

アプリを再起動することは悪い考えです。私はAppleがそれを拒否すると確信しています。しかし、更新された情報を適用するためにアプリケーションを閉じるようにユーザーに指示するポップアップを表示することができます。しかし、最も良い方法は、あなたのアプリを再構築するために必要なメソッド(つまり、更新されたデータを使用する必要があるメソッド)を手動で呼び出すことだけです。 いくつかの大規模な再構築(ユーザーが直ちに気づくもの)を行う必要がある場合は、「読み込み中」の進行状況バーを追加することをお勧めします。

4

あなたのアプリを再起動することはできません。理由はわかりませんが、a)したいことがあります。

+0

私は気分を知っていますが、クライアントアプリケーションを特定のロケール設定(私はどちらも気に入らない)にしたいと思っています。 –

+0

"範囲"と余分なコストについて話しているあなたの契約の条項を指しています。とにかく、あなたにとって最高の運勢 - Amitの答えは完璧です。 – sosborn

+0

ありがとうございます。私はamitの答えを自分自身upvotedと私はあなたが私はその解決策をやって嫌いどれだけ覚えていたとして私の答えを削除します。 –

1

あなたは、あなたのデバイスは、あなたのアプリで再起動ボタンを入れて、abort();を呼び出すジェイルブレイク

である場合にのみ、それを行うことができます。これはアプリをクラッシュさせます。

フック-(void)exitedAbnormally; SBApplicationからアプリを起動するコードを書いてください。

そのジェイルブレイクされていない場合、あなたは

+0

exit(0)は、jailbreakingせずにアプリケーションを終了します。 –

2

あなたはユーザー支援のビットでiOSアプリを終了して再起動することができます選択の余地はありません。サスペンド時のアプリケーション終了のアプリのplistキーを設定します。アプリが数秒後にトリガーされるようにローカル通知を作成します。 SafariにURLを送信します。 OSはSafariを起動してURLを処理するときにアプリを終了します。 URLは、ウェブのランディングページにリンクしている可能性があります。その後、ローカル通知が表示され、ユーザーにアプリの再起動を依頼します。

しかし、アプリはこれを行う理由がないように(再)設計する必要があります。

0

jailbrokenデバイス用に開発する場合は、uicacheコマンドを使用してスプリングボードキャッシュをクリーニングし、新しいアプリケーション/アイコン(UIKitパッケージから入手可能)をリロードできます。例えば

1)あなたはルートの下にしている場合:

su mobile -c uicache 1>/dev/null 2>&1 

2)あなたは、モバイルの下にしている場合:再起動のために

uicache 

あなたはrebootコマンドを使用することができますルートの下でkillall SpringBoard resplringのため

関連する問題