2009-06-30 15 views
1

私のアプリケーションデリゲートのdidFinishLaunchingWithOptionsがプッシュ通知用に登録するアプリケーションがあります。この登録は少し時間がかかりますので、アプリを起動してください。私はそれが登録するまで空白の画面で待つ必要があります。この待っている時間、私は「お待ちください...」というメッセージを表示する必要があります。どうすればいいですか? didFinishLaunchingWithOptionsの登録コードの前にUIViewを追加しましたが、登録後にのみ表示されます。 PlzヘルプUIビューの読み込み中didFinishLaunchingWithOptions

答えて

0

iPhone Human Interface Guidelinesは、あなたの最初のビューに似たデフォルト画像を提供することを提案しています。多くのAppleアプリがこれを行います。ここをクリックしてください: Launch Images

「お待ちください」というメッセージが表示されるまで、これを試してみます。

+0

ありがとうございました...私はこれを使うことができると思う..! – Sreehari

1

私はあなたの質問を誤解しているかもしれませんが、あなたの[UIApplication didFinishLaunchingWithOptions:]メソッドで何らかのブロック活動を行っているようです。 didFinishLaunchingWithOptionsメソッドの中で待つのに長い時間を費やす必要がないように、非同期戦略を使用するようにコードを再構成する必要があります。とにかくそのメソッドが実行を完了するまで、何も表示されません。

あなたがプッシュ通知の登録をしていると言えば、もっと具体的でメソッド実装の例を投稿することができますか?単純に - [UIApplication registerForRemoteNotificationTypes:]を呼び出すことは、非ブロッキングであるため、上記で説明した症状は発生しません。

ユーザーインターフェイスを担当するメインスレッドをブロックしないように、バックグラウンドスレッドで同期ネットワークI/Oなどの処理に時間がかかる処理を実行することが重要です。

+0

これを管理するには、上記のように進捗ビューまたはデフォルトのイメージを与えることができる別のView Controllerで登録メソッドを呼び出すことができました。ありがとう... !! – Sreehari

0

UIAlertViewUIActivityIndicatorViewを表示してからperformSelector:withObject:afterDelay:を遅延0.0で使用すると、登録コードが呼び出されます。インジケータが最初にアニメートされ、レジスタコードが同じスレッドで実行されます。遅延0.0では、インジケータが最初にアニメーションの再描画プロセスを開始するために、少し短時間ブレークすることができます。

関連する問題