1

常に実行する必要があるか、自由にロックする必要があるスレッドがいくつかあります。電話をロックしたりアプリケーションを交換したりすると、アプリケーションがフォーカスされるまでスレッドが停止しているように見えます。

NSThread のサブクラスである Worker クラスがあります。Worker オブジェクトを作成する firstViewController によって呼び出される start というメソッドがあります。

//method start
[self performSelectorInBackground:@selector(run) withObject:self];

スレッドがフォーカスされている間だけ実行されるのではなく、常に実行されるようにするにはどうすればよいですか?

ありがとう :)

4

1 に答える 1

1

アプリがバックグラウンドに入ると、マルチタスクを使用するようにアプリケーションを構成しておらず、マルチタスク メソッドを使用して作業が行われている場合を除き、すべてのスレッドが中断されます。これはApple developerで詳しく説明されています。

要するに、ナビゲーションまたは VOIP アプリケーションでない限り、App Store で承認されたい場合、基本的に iOS のバックグラウンドで常にスレッドを実行することはできません。バックグラウンドに入ってから約 10 分間はスレッドを実行し続けることができますが、それだけです。

于 2012-11-16T12:18:37.793 に答える