私のアプリケーションはiOS 4.3.3 iPhone 3GSですばらしい働きをしています。 3.1.3 iPhone 3Gでアプリをテストすると、スプラッシュ画像が表示された直後にプログラムがクラッシュします。デバッガは、ルートビューコントローラの最後のコマンドを指します。awakeFromNib
:iOS3のapplicationWillEnterForegroundではEXEC_BAD_ACCESSですが、iOS4ではありません
- (void)awakeFromNib
{
NSLog(@"awakeFromNib");
NSLog(@"applicationWillEnterForeground listened");
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillEnterForeground:)
name:UIApplicationWillEnterForegroundNotification
object: nil];
}
2011-08-09 15:56:24.585 AppName[4401:207] awakeFromNib
2011-08-09 15:56:24.602 AppName[4401:207] applicationWillEnterForeground listened
Program received signal: “EXC_BAD_ACCESS”.
この問題を回避するのに役立つはずのiOS 3の覚醒/睡眠に関する特別なことがありますか? iOSデベロッパライブラリから
行を削除し、それを修正するが、どのように私は、iOS 3でこのイベントをシミュレートしていますか?ユーザーがアプリを開くたびにテーブルビューを更新する必要があります。 Facebookはこれを行います。それはあなたのニュースフィードが開かれるたびに更新されます。 – JoJo
通知名は文字列です。サポートされていないものをリッスンするとアプリがクラッシュすることはなく、単に通知されることはありません。 – benzado
代わりに 'applicationDidBecomeActive'を使用して回避策を作成しました。私はちょうど 'didBecomeActive'と' willEnterForeground'を区別する必要がありました。 'willEnterForeground'がアプリの起動時に*最初の*時間を起動しない点を除いて、どちらもほぼ同じ時刻に起動されます。 – JoJo