私が持っている iOS アプリは、何人かの顧客がロードしないと言っており、スピナーが無期限に表示されます。このスピナーは、アプリ デリゲートで開始します。
applicationDidBecomeActive デリゲートにブレークポイントを設定して xcode を実行すると、最終的にこれを再現できました。ここで呼び出されている NSTimer があります。
これは他の人が見たことがあるのではないかと思っていましたが、このデリゲートと NSTimers との競合はありますか?
編集: メモリからのコード サンプル。後で実際のコードを取得する必要があります。
-(void)applicationDidBecomeActive:(UIApplication *)application {
[self toggleOpen];
}
- (void)toggleOpen {
if (!self.timer) {
self.timer = [NSTimer scheduledTimerWithTimeInterval:600 target:self selector:@selector(doWork) userInfo:nil repeats:YES];
} else {
[self.timer invalidate];
self.timer = nil;
}
}
- (void)doWork {
//Under certain conditions calls a web service (rarely)
}