nilMyアプリケーションはいくつかのチェックを実行してから、アプリケーションがアクティブになるたびにUIAlertView
と表示する必要があります。これを行うために私はdidBecomeActiveNotification
のために登録し、ここで私のチェックを実行します。起動時に警告メッセージが表示されるUIAlertView
問題が発生した私のUIAlertView
が初回起動時にポップアップするたび、それはメッセージ「アプリケーションがアプリケーションの起動の最後にルートビューコントローラを有することが期待される」が発生します。私はこれが起こっていると推測しています。viewDidAppear:
の前にUIAlertView
が表示されています。
UIAlertView
には、どうすればdidBecomeActiveNotification
が表示されますか?
2012-03-16 12:21:47.238 App[4181:707] viewDidLoad:
2012-03-16 12:21:47.462 App[4181:707] didBecomeActiveNotification:
2012-03-16 12:21:47.793 App[4181:707] Applications are expected to have a root view controller at the end of application launch
2012-03-16 12:21:48.500 App[4181:707] viewDidAppear:
編集:これを新しいプロジェクトで開始するには、次の操作を行います。
1新規プロジェクト - >シングルビューアプリケーション
2 Viewcontroller.mでViewController.mでviewDidLoad:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didBecomeActiveNotification:) name:UIApplicationDidBecomeActiveNotification object:nil];
3に以下を追加し
-(void)didBecomeActiveNotification:(NSNotification *)notification
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:nil delegate:self cancelButtonTitle:@"ok" otherButtonTitles: nil];
[alertView show];
[alertView release];
}
4次のメソッドを追加しますビルドと実行
どのようにして 'didBecomeActiveNotification'のために登録していますか? –
'' [NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didBecomeActiveNotification :) name:UIApplicationDidBecomeActiveNotificationオブジェクト:nil]; ' – trapper
を使って 'viewdidLoad'の中に' applicationDidBecomeActive' *および*でapp-delegateにアラートを表示しようとしましたが、あなたが提供したコードで登録されたルートビューコントローラのdidBecomeActiveNotificationが両方とも動作します。あなたのアプリに特別なものがあると思いますか?おそらく、ルートビューコントローラーの初期化ですか? –